Generic MCP server that exposes any GraphQL API as Claude Code tools
Single tool with significant definition gaps. Tool name 'dynamic_graphql_operations' is generic and does not follow verb_noun pattern (should be 'execute_graphql_operation' or similar). Description is present but vague (58 chars), does not explain WHEN to use it, what it returns, or prerequisites. Input schema is dynamically generated from GraphQL files at runtime; while properties and required fields are constructed, there is no explicit schema validation or documentation of the output structure. Parameters lack individual descriptions, only type hints like 'String array' are provided. No error handling guidance for GraphQL failures. Tool is inferred/dynamic rather than explicitly registered with full metadata.
Dynamically generated tools from GraphQL operations loaded from the configured operations directory. Each .graphql or .gql file becomes a tool that executes the corresponding GraphQL query with extracted variables as input parameters.
Tool name does not follow verb_noun pattern. 'dynamic_graphql_operations' is generic and does not convey the action (execute, query, fetch). LLMs cannot infer intent from the name alone.
Tool description is vague (58 chars) and lacks context. Does not explain WHEN to use it, what the output structure is, or how to handle errors. LLMs need explicit guidance on tool selection.
Dynamically generated parameters lack individual descriptions. Only type hints ('String array') are provided; LLMs cannot understand what each parameter controls or its constraints.
Output schema is not documented. Tool returns JSON.stringify(data) as plain text; LLMs do not know what fields to expect or how to chain downstream calls.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
Error handling returns plain text error messages without recovery guidance. 'Error executing X: ...' does not tell the LLM whether to retry, ask the user, or abort.