MCP server that exposes REST APIs, GraphQL schemas, and native MCP tools as unified MCP tools. Supports filtering by resource and HTTP method.
Three dynamically-generated tools with severely incomplete definitions. All three tools lack proper parameter descriptions, have vague/generic descriptions, and expose dangerous WRITE operations without safety guardrails. Tool schemas are minimal (pathParams/body/query as bare objects with no type constraints). No error handling guidance, no idempotency markers, no permission gates. The dynamic nature means tool names and schemas are runtime-generated and not statically verifiable, this caps per-tool scores at 50 maximum. Descriptions are generic boilerplate that do not explain WHEN to use each tool or what makes them distinct.
Dynamically generated tools from GraphQL schemas. Tool name is the GraphQL operation path. Accepts GraphQL query documents.
Dynamically generated tools from native MCP tool definitions. Tool name is the MCP tool path. Input schema is extracted from the MCP tool's inputSchema.
Dynamically generated tools from REST API routes. Tool names follow pattern: {method}_{segment1}_{segment2} (excluding path parameters). Each tool corresponds to a REST endpoint.
All three tools are dynamically generated at runtime; tool names, schemas, and descriptions are not statically visible in source code. Per HARD SCORING RULES, inferred tool definitions cap at 50 per-tool. This server provides no static tool registry.
Parameter descriptions are missing or trivial. 'pathParams' and 'body' lack descriptions explaining what values are valid, what format is expected, or what constraints apply.
All three tools are marked WRITE risk but have no confirmation, dry-run, or permission-gate pattern. Agents can invoke destructive operations (DELETE, PUT, PATCH) without safety guardrails. No error recovery guidance provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Tool descriptions are generic boilerplate ('Dynamically generated tools from...') that do not explain WHEN to use each tool, what distinguishes them, or what the LLM should expect. Descriptions under 50 chars for complex tools waste the LLM's ability to select the right tool.
Input schemas lack type constraints. 'pathParams' and 'body' are bare objects with no properties defined, no required fields, no format/pattern constraints.