High-performance MCP (Model Context Protocol) proxy server. Bridges MCP clients to FastCGI or HTTP backends.
Roxy is a proxy server that delegates tool definitions to upstream backends (FastCGI/HTTP). The three example tools (echo, add, book_flight) have basic schemas and descriptions, but fall short of production quality. Tool descriptions are minimal (10-30 chars), parameter descriptions are sparse, and output schemas are not documented. The book_flight tool accepts only 'destination' as required input, yet the description mentions 'elicitation for missing details', the schema does not reflect what fields will be elicited. No error handling guidance, no output schema documentation, and no tool annotations (readOnlyHint/destructiveHint). The architecture delegates responsibility to backends, which is reasonable, but the example handlers do not demonstrate best practices.
Adds two numbers and returns structured result
Books a flight with elicitation for missing details
Echoes back the input message
Tool descriptions are too short (10-30 chars). Rubric baseline is 194 chars; descriptions under 20 chars score 0-20. 'Echoes back the input message' and 'Adds two numbers and returns structured result' lack context for LLM selection.
Output schemas are not documented. Rubric requires 'Document the output schema. LLMs need to know what fields to expect.' None of the three tools declare return types or output structure.
book_flight schema is incomplete. Input declares only 'destination' as required, but description says 'elicitation for missing details', no schema documents what fields will be elicited (dates, passengers, class, etc.). Undocumented dependencies violate param-relationships pattern.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2025-06-18+ | v2 |
No tool annotations. Rubric rewards tool annotations (readOnlyHint, destructiveHint, idempotentHint). echo and add are READ_ONLY; book_flight is WRITE, but no annotations in schema to signal this to clients.
No error handling guidance. Rubric requires 'Error responses must tell the LLM what to do next.' No tool describes failure modes, recovery steps, or actionable error messages.