A simple, secure MCP-to-OpenAPI proxy server that converts MCP (Model Context Protocol) servers into OpenAPI-compatible HTTP endpoints
This server has critical definition quality issues. It exposes only 1 tool: 'dynamic_tools_from_mcp_server'. The tool name violates naming conventions (uses 'from' instead of a clear verb-noun pattern like 'list_mcp_tools' or 'discover_mcp_tools'). The description is generic and does not explain WHEN to use it, WHAT it returns, or its operational constraints. The 'Input' field shows only a placeholder schema: {"type":"object","description":"Dynamic schema generated from MCP tool inputSchema"}, this is NOT a concrete, queryable schema. It has no documented parameters, no type constraints, and no validation guidance. The tool is essentially a pass-through proxy that dynamically forwards requests to upstream MCP servers, which means its schema cannot be statically defined, but this architectural reality is not reflected in the tool documentation. There are no documented output schemas, error recovery paths, or permission/scope declarations. The server's primary function is infrastructure-level (MCP-to-OpenAPI bridging), not a concrete domain tool, which makes traditional tool quality assessment difficult, but the rubric still applies: a tool's description must be actionable for LLMs, and this one is not.
Dynamically discovers and exposes all tools from connected MCP servers as OpenAPI endpoints. Tools are discovered via MCP ClientSession initialization and exposed as POST endpoints with auto-generated request/response schemas.
Tool name 'dynamic_tools_from_mcp_server' is not a clear verb-noun pattern. Should be 'list_mcp_tools', 'discover_mcp_tools', or 'query_mcp_server'. The name does not signal to an LLM what action is being taken.
Input schema is a placeholder 'Dynamic schema generated from MCP tool inputSchema' with no concrete parameter definitions. This violates the schema documentation requirement. LLMs cannot determine what parameters to pass, what types they accept, or what constraints apply.
Tool description is extremely terse (91 chars) and fails to answer: What does it do for the end user? When should an agent call it instead of calling upstream MCP tools directly? What does it return? What are failure modes?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 34 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | 1.17.0+ | v1 |
No documented output schema. The tool is described as 'Dynamically discovers and exposes all tools from connected MCP servers' but does not specify what structure it returns, what fields are present, or how pagination works if many tools are discovered.
No error handling or recovery guidance. The tool is a proxy that forwards requests; what happens when an upstream MCP server is unreachable? What errors can an LLM expect, and what should it do next?
No permission or scope declarations. The tool can invoke ANY tool from connected MCP servers, this is a powerful, potentially dangerous capability. No documentation of authorization checks, rate limits, or audit trails.
The server's primary purpose (proxy MCP to OpenAPI) is infrastructure-level, not a domain tool. This makes traditional tool quality assessment complex. The 'dynamic_tools_from_mcp_server' tool is essentially a reflection/discovery endpoint, not a concrete action tool. Consider clarifying in documentation whether this is intended for agent consumption or internal infrastructure.