An MCP proxy router that routes requests between Alfresco audit and document management backends using FastMCP, with LangGraph or LlamaIndex-based intelligent routing
This server exposes only 2 tools with severely incomplete definitions. Both tools lack meaningful parameter descriptions, output schemas are undocumented, and the server's primary tool (ask_alfresco) is a meta-router rather than a concrete action tool. The 'ask_alfresco' tool violates single-responsibility principles by claiming to route to audit or docs tools, which means it's not truly performing one clear action, it's delegating to an unspecified backend. The 'list_available_tools' tool is discovery-oriented but provides no schema documentation of what structure it returns. Descriptions are minimal and do not explain WHAT each tool does, WHEN to use it, or what it returns. Parameter descriptions are absent entirely. This server does not meet baseline quality for production agent tooling.
Free-text. ReActAgent selects one audit__* or docs__* tool and calls it.
List MCP tools exposed to the agent.
ask_alfresco: No input schema visible. Parameter 'prompt' has no type definition in the provided schema; only 'description' field shown.
ask_alfresco: Description is vague and meta. States 'Free-text. ReActAgent selects one audit__* or docs__* tool and calls it.' This is a router, not a real tool, it performs no concrete action. Does not explain WHAT it does, WHEN to use it, or what it returns. Violates single-responsibility principle.
ask_alfresco: Parameter 'prompt' lacks a description. LLMs cannot infer what format is expected, what constitutes a valid query, or what constraints apply (length, special characters, etc.).
ask_alfresco: No output schema documented. Agents cannot plan downstream tool calls or extract the right data without knowing what fields are returned.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 35 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 36 | - | v1 |
list_available_tools: No input schema visible in provided code. Parameter documentation missing.
list_available_tools: No output schema documented. What structure do returned tools have? Do they include names, descriptions, input schemas? Agents have no way to plan based on this response.
ask_alfresco: Router pattern violates composition principle. It claims to 'select one audit__* or docs__* tool' but does not expose those tools directly. This forces an LLM to call ask_alfresco without knowing which backend tool will be invoked, making the system opaque and error-prone.
No error handling documented. Neither tool describes what errors can occur, how to recover, or what the LLM should do next if a call fails.