A Go-based MCP gateway that proxies requests to multiple MCP servers (stdio processes or WASM modules) and exposes them via HTTP/gRPC APIs
Three tools with minimal definitions. 'add' and 'mul' have acceptable 50-char descriptions and proper JSON schemas (type: number, required fields). 'echo' lacks a proper schema, input is documented as {"msg":{"type":"string"}} but this is malformed JSON Schema (missing 'properties' wrapper and 'required' array). No parameter descriptions exist for any tool. Naming is generic ('add', 'mul', 'echo') and does not follow verb_noun convention. No output schemas documented. No error handling guidance. Tools appear to be demo/test fixtures rather than production-grade definitions.
Saturating add of two integers (WASM sandbox)
Echo arguments as text
Saturating multiply of two integers (WASM sandbox)
echo tool has no valid input schema. Declared as {"msg":{"type":"string"}} which is malformed JSON Schema, missing 'properties' wrapper and 'required' array.
No parameter descriptions for any tool. LLMs cannot infer what 'a' and 'b' mean in add/mul, or what 'msg' means in echo.
Tool names are generic and do not follow verb_noun convention. 'add', 'mul', 'echo' lack action clarity. 'add' could mean 'add_numbers', 'mul' could be 'multiply_integers'. Generic names reduce LLM disambiguation.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract results.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
No error handling guidance. Tools provide no recovery hints, error classification, or actionable messages. Per pattern:recovery-guide, errors must tell the LLM what to do next.