FastAPI application for MCP relay - intelligently manages MCP tools to prevent context bloat. Discovers, provisions, and executes only the most relevant tools for each task.
MCP Relay exposes 4 tools with basic schemas and descriptions. All tools have input schemas with typed parameters and descriptions present. However, descriptions are generic and lack actionable context for LLM selection. Tool naming follows verb_noun convention (discover, provision, execute) but lacks clarity on when to use each. Output schemas are not documented. Error handling guidance is absent. The server acts as a proxy/relay, which creates ambiguity: tools describe MCP relay operations, not domain-specific actions users would request in chat. This architectural choice limits the tool interface's alignment with the chat data model.
Discover relevant tools using semantic search and optional tags.
Execute a backend MCP tool via the proxy.
Execute multiple tools in parallel for faster multi-tool workflows.
Provision tools within a token budget for MCP usage.
Output schemas not documented. LLMs cannot predict what discover_tools, provision_tools, or execute_tool return, forcing them to guess downstream field names and types.
Descriptions lack actionable context. 'Discover relevant tools using semantic search' does not explain WHEN to call this vs provision_tools, what the semantic search indexes, or what 'tags' filter on. LLMs cannot disambiguate.
execute_tool and execute_tools both execute tools; naming does not clarify the distinction (single vs batch). 'arguments' parameter is generic object with no schema, LLMs cannot know what fields to pass for a given tool_id.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | <=2025-11-25 | v2 |
No error handling guidance. If execute_tool fails (e.g. tool_id not found, arguments invalid), the description does not explain recovery steps or whether the error is retryable.
Tool interface is MCP-relay-centric, not user-centric. Users do not ask 'discover tools' or 'provision tools', they ask domain-specific questions. This proxy architecture forces agents to reason about relay mechanics instead of domain intent.