Zero-dependency MCP client bridge for DeepSeek Harness: connects stdio/HTTP MCP servers and auto-registers their tools for the agent.
This server acts as a bridge/proxy that dynamically registers tools from upstream MCP servers. Tool definitions are inferred from upstream responses rather than explicitly defined in the bridge code. The 4 tools shown have minimal descriptions (mcp_status is adequate at ~100 chars; others are generic templates). Critically, tools 2-4 are DYNAMIC, their actual schemas depend on upstream servers and are not visible in the bridge source code. Per the hard rules, inferred tool definitions cap at 50 per-tool. mcp_status has a proper schema; the dynamic tools lack explicit schema definitions in the bridge itself. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Error handling is absent, no recovery guidance, no categorization. The bridge is a proxy, not a primary tool provider, which limits applicability of the full rubric.
Dynamically registered tools from connected MCP servers. Each tool is auto-registered with the naming pattern mcp_<server_id>_<tool_name>. Tool descriptions and schemas are derived from the MCP server's tools/list response.
Dynamically registered prompt getter from connected MCP servers. Retrieves a prompt template by name from the MCP server's prompts/get endpoint.
Dynamically registered resource reader from connected MCP servers. Reads a resource by URI from the MCP server's resources/read endpoint.
Report the status of all connected MCP servers: connection state, tool count, resource count, prompt count.
Dynamic tool registration: tools 2-4 are inferred from upstream MCP servers, not explicitly defined in bridge code. Actual schemas, descriptions, and parameter details are unknown at bridge registration time.
Tool naming: 'mcp_<server>_<tool>' is a template placeholder, not a real tool name. LLMs cannot infer intent from a generic pattern. Dynamic tools should be named with actual upstream tool names at registration time.
No tool annotations: none of the tools declare readOnlyHint, destructiveHint, or idempotentHint. mcp_status is read-only; dynamic tools have unknown risk profiles. Annotations guide agent safety reasoning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Error handling absent: no recovery guidance, error categorization, or actionable error messages. If an upstream tool fails, the bridge likely returns raw errors without context for the LLM to retry or self-correct.
Generic descriptions for dynamic tools: 'Dynamically registered tools from connected MCP servers' and 'Dynamically registered resource reader' are template text, not actionable descriptions. LLMs cannot determine when to call these tools.