MCP Gateway server that connects to dependency-managed MCP servers and routes tool calls to appropriate backends
AgentPack Gateway demonstrates basic tool structure but falls short of production quality. All 8 tools have descriptions and input schemas with type definitions, but descriptions are minimal (10-80 chars, well below the 194-char baseline) and lack context for LLM selection. Parameter descriptions are present but terse. No output schemas documented. Error handling is absent, tools return JSON strings without guidance on failure modes or recovery. Tool naming follows verb_noun convention (geocode, reverse_geocode, get_weather) but lacks specificity about dependencies and prerequisites. The gateway tools (list_servers, server_health) are READ_ONLY but lack explicit annotations. No evidence of idempotency guarantees, rate limiting, or pagination for list operations.
List all servers managed by AgentPack and their tools
Check health of all managed servers
Convert an address/city to lat/lng coordinates
Get 3-day forecast for a lat/lng location
Get current weather for a lat/lng location
Create a trip plan (requires geocoding + weather data upstream)
Recommend a travel destination based on preferences
Descriptions are critically short (10-80 chars vs 194-char baseline). Lack WHEN to use, prerequisites, and dependencies. LLMs cannot reliably select tools without context.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., lat/lng from geocode for weather lookup).
No error handling guidance. Tools return JSON strings on success but no documented failure modes, error messages, or recovery paths. LLMs cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Convert lat/lng to a place name
Gateway tools (list_servers, server_health) lack readOnlyHint annotations. No explicit permission declarations or audit trail guidance.
Dependencies between tools (geocode → weather, travel-advisor → geocoding) are mentioned in response text but not formalized in tool descriptions or parameter constraints.