TypeScript version of mcp-use library for managing MCP servers and integrating with LLMs
This server has significant gaps across all definition quality dimensions. Tools have descriptions but lack depth and LLM-optimization guidance. Input schemas are present but sparse (mostly trivial or minimal). The exchange tool has a reasonable implementation with Zod schema, but the server_manager.ts tools have weak parameter definitions and no output schema documentation. No error handling or recovery guidance visible. Naming is adequate but descriptions lack context on WHEN to use each tool and what they return. The server demonstrates basic MCP server setup but falls short of production-grade agent tool standards.
Connect to a specific MCP (Model Context Protocol) server to use its tools. Use this tool to switch the active server.
Disconnect from the currently active MCP (Model Context Protocol) server.
人民币汇率换算工具,有一个参数rmb,表示人民币的数量,返回内容是rmb人民币兑换成美元和港币的结果
Get the currently active MCP (Model Context Protocol) server.
Lists all available MCP (Model Context Protocol) servers that can be connected to, along with the tools available on each server. Use this tool to discover servers and see what functionalities they offer.
Missing output schema documentation for all tools. LLMs cannot plan downstream calls or understand what data is returned. The exchange tool returns text content but no structured schema is documented; server_manager tools return strings with no documented format.
Input schemas are either empty or minimal. list_mcp_servers, get_active_mcp_server, and disconnect_from_mcp_server all have {} input schemas with no parameters, yet their Zod definitions and DynamicTool wrappers are inconsistently applied. The exchange tool has a proper Zod schema (rmb: z.number()) but server_manager tools use DynamicTool with commented-out schema properties.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 42 | - | v1 |
Descriptions lack LLM-optimization context. They state WHAT the tool does but omit WHEN to use it and what it returns. Example: 'Get the currently active MCP (Model Context Protocol) server' (50 chars) does not explain why an agent would call this or what format the response takes. Baseline for A+ tools is 50-200 chars with actionable context.
No parameter descriptions for connect_to_mcp_server's server_name parameter beyond 'The name of the MCP server'. Missing guidance on how names are discovered, whether partial matches work, or what happens if the server does not exist.
No error handling or recovery guidance. If connect_to_mcp_server fails (server not found, connection refused), there is no indication of what the LLM should do next. Should it call list_mcp_servers first? Retry? Fail gracefully?
Inconsistent schema registration pattern. The exchange tool in examples/http_server.ts uses server.tool() with proper Zod schema registration. The server_manager.ts tools use DynamicTool with commented-out schema properties and manual JSON.parse() for input parsing. This inconsistency makes schemas difficult for clients to discover and validate.