Context-cheap MCP access for DeepSeek Harness: two proxy tools instead of every server's full schema set, with lazy connections, an on-disk tool catalog, and idle disconnect
Two proxy tools with clear, actionable descriptions (DISCOVER_DESCRIPTION and CALL_DESCRIPTION are 150+ chars each). Input schemas are present and typed. However, parameter descriptions are minimal or missing entirely. mcp_discover lacks descriptions for 'query', 'server', and 'limit' parameters. mcp_call lacks descriptions for 'server', 'tool', and 'arguments'. Output schemas are not documented, callers cannot predict the structure of discovery results or tool call responses. Error handling is present (errorReporting=true) but not visible in the tool definitions themselves. The tools are meta-tools (discovery + proxy), which is a valid pattern, but they lack the parameter-level guidance LLMs need to use them effectively.
Invoke one MCP tool by server and name. Get the exact names and arguments from mcp_discover first. Arguments are passed through to the server unchanged.
Find MCP tools available through connected servers. Returns each tool's server, name, description, and argument names. Call this BEFORE mcp_call when you do not already know the exact server and tool name. An empty query lists everything available.
Parameter descriptions missing for mcp_discover (query, server, limit) and mcp_call (server, tool, arguments). LLMs cannot infer parameter meaning from names alone.
Output schemas not documented. Callers cannot predict the structure of mcp_discover results (does it return tool names, descriptions, argument lists?) or mcp_call responses (text, structured object, error format?).
mcp_call's 'arguments' parameter is type 'object' with no schema or description. LLMs cannot validate what keys/types are valid without calling mcp_discover first, creating a hard dependency.
No error recovery guidance in tool descriptions. If mcp_discover returns empty results or mcp_call fails, the LLM has no hint about what to do next (retry, check server config, etc.).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
mcp_discover's 'limit' parameter has no bounds documented. LLMs could request 1000+ results; the code enforces discoverLimitMax but the tool description does not warn the caller.