Embeddable and self-hosted Model Context Protocol server for administering Joomla 6.x
JoomEngine MCP demonstrates solid foundational quality with well-structured tool definitions and comprehensive parameter schemas. All 7 tools have descriptions (avg 156 chars) and typed input schemas. Naming follows verb_noun convention (joomla_*). However, output schemas are not documented in the source, parameter descriptions lack actionable constraints (format, range, examples), and error handling guidance is minimal. The permission workflow (request→approve) is well-designed but lacks recovery patterns for denied/expired requests. STDIO transport caps protocol readiness at 50.
Returns the exact source-backed route contract, typed input schema, native adapter metadata, and executable transports for one semantic action.
Executes one catalogue action by semantic identifier. Routes, origins, credentials, methods, and toolsets remain server controlled. Some source-defined GET operations perform Joomla bookkeeping; inspect the action descriptor before execution.
Searches the source-backed semantic action catalogue, intersected with the selected site's enabled toolsets. Writes are omitted unless includeWrites is explicitly true.
Returns the source-backed core action catalogue and capabilities enabled for one configured site.
Validates the exact operator-supplied acknowledgement for a pending request and creates a principal-bound grant. The grant cannot exceed configured site toolsets, inbound OAuth scopes, or Joomla ACL.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'Returns the source-backed core action catalogue') but do not specify field names, types, or structure. LLMs cannot plan downstream tool calls or extract required data without knowing response shape.
Parameter descriptions lack actionable constraints. 'site' is described as 'Configured site alias; omit for the default site' but does not specify format, length, or valid values. 'text' in joomla_actions_search lacks guidance on minimum length, special characters, or search syntax. LLMs cannot validate input without explicit constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2025-06-18+ | v2 |
Creates a principal-bound operator permission request for selected configured write or administration toolsets. Returns an exact acknowledgement phrase that must be shown to and supplied by the operator. It does not grant permission.
Lists non-secret site aliases, adapters, and enabled toolsets.
Error handling and recovery guidance absent. No tool description explains what errors are possible, how to interpret them, or what the LLM should do next. E.g., joomla_action_read does not document what happens if the action is not found, if credentials fail, or if the transport is unavailable.
STDIO transport only. Server is not remotely accessible and cannot be used by hosted MCP clients. Limits deployment to local/embedded scenarios. HTTP transport required for production agent platforms.
Permission workflow lacks compensation tools. joomla_permission_request and joomla_permission_approve handle the happy path, but no tool exists to revoke, expire, or cancel a grant. If an operator approves a request by mistake, there is no recovery path.