MCP Gateway Router — one MCP to rule them all. Routes tool calls across multiple downstream MCP servers with caching, discovery, and auto-resolution.
Four tools with basic descriptions and minimal schemas. Tool names follow verb_noun convention (mux_list, mux_call, mux_find, mux_status), which is good. However, descriptions lack depth on WHEN to use each tool vs alternatives, parameter descriptions are sparse or missing entirely, and output schemas are not documented. mux_call_tool has the most complex logic but its 'arguments' parameter lacks type constraints. No error handling guidance visible. Schemas present but incomplete, most parameters lack descriptions. This is typical D-grade community server work.
Route a tool call to a downstream MCP server. The server will be started automatically if not already running. If "server" is omitted, Mux will attempt to auto-resolve which server owns the tool from cached tool metadata.
Search for a tool across all registered downstream servers by name or description. Uses cached tool metadata — does not require connecting to servers. Returns matching tools with their server name and description.
List all registered downstream MCP servers with their status (idle/active) and available tools. Call this to discover what servers are available before routing calls.
Show Mux gateway diagnostics: uptime, active connections, memory usage, cache stats, and registered server count.
mux_call_tool 'arguments' parameter has no type constraint or description. Accepts any object, inviting hallucinated or malformed payloads. Should document expected structure or require schema validation.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract fields. mux_list_servers should document returned fields (server names, status, tool list structure); mux_call_tool should document result format.
Parameter descriptions missing or minimal. 'server' in mux_call_tool says 'Name of the downstream server' but does not explain format, case sensitivity, or how auto-resolution works. 'query' in mux_find_tool lacks guidance on search syntax.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
No error handling guidance. If mux_call_tool fails (server unreachable, tool not found, invalid arguments), what should the LLM do? Retry? Call mux_find_tool? No recovery path documented.
mux_status description is vague ('Show Mux gateway diagnostics'). Does not explain WHEN to call it (e.g., before routing, for debugging, for monitoring). No output schema for 'uptime, active connections, memory usage, cache stats, registered server count'.