MCP server that provides access to OpenRouter AI models through a gateway interface supporting any model available on OpenRouter
Server implements 2 tools with basic but incomplete schemas and descriptions. Both tools have action-verb names (create_, list_) which is good. Schemas are partially defined but lack critical field descriptions for nested objects. The create_completion tool has a complex nested structure (messages array with role/content objects) that lacks per-field descriptions. Neither tool has documented output schemas. Error handling exists at the protocol level but tools lack recovery guidance. No input validation constraints (enums, ranges, limits) are exposed. Overall, this is a mediocre implementation that follows basic naming conventions but falls short on schema completeness, parameter descriptions, and output documentation.
Create an AI completion using OpenRouter with any model
List all available OpenRouter models
Output schemas not documented. Neither tool specifies what fields are returned or their types. LLMs cannot plan downstream operations or extract results reliably.
Nested parameter objects lack descriptions. The 'messages' array in create_completion contains role/content objects, but these fields have no description. LLMs cannot infer what values are valid.
No input constraints (enums, ranges, limits) are defined. The 'temperature' parameter accepts 0.0-1.0 per description but no min/max schema constraint is present. The 'model' parameter accepts any string with no enumeration of valid options.
create_completion tool description is vague. It says 'Create an AI completion using OpenRouter with any model' but does not explain when to use it, what it returns, or how it differs from similar operations. Does it support function calling? Streaming? What format is the response?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 44 | 2024-11-05+ | v1 |
list_models description is minimal (19 characters). No guidance on what structure is returned, when to call it, or how many models exist.
Optional parameters lack clear default behavior. What happens if 'temperature' is omitted? What if 'max_tokens' is not specified? The tool schema shows only 'messages' as required, but LLMs need guidance on defaults for optional fields.
No error recovery guidance. The server implements basic HTTP error responses (sendMCPError) but does not provide actionable recovery hints. If create_completion fails due to invalid model, the response should suggest valid models or recommend calling list_models first.
Composition: create_completion accepts a 'tools' parameter (array) but does not document its structure or how tool definitions should be formatted. This is a high-complexity parameter that requires clear schema and examples.