Model Context Protocol tool design faces context bloat and confusion
Developers using the Model Context Protocol (MCP) report two primary problems that degrade large‑language‑model performance. First, tool definitions are loaded into the model’s context on every call, inflating token usage even when a tool is not invoked. Second, ambiguous tool names, overlapping functionality and unclear parameter meanings cause the model to select the wrong tool or supply incorrect arguments, leading to retries that further increase context size.
Proposed mitigations include sharpening tool descriptions, providing natural‑language mappings and concise usage examples, limiting returned fields to those needed for a decision, and using schema constraints such as enums and defaults to remove guesswork. Proper error messages that indicate exactly what changed (e.g., “search requires 2 or more terms”) also guide the model toward the correct call.
A complementary Japanese article explains MCP’s architecture: client applications aggregate tool definitions from multiple MCP servers, present them to the LLM as a standard "tools" array, and handle routing of tool_use messages to either local functions or remote MCP services via JSON‑RPC 2.0. The article emphasizes that the LLM never sees MCP itself, mirroring HTTP’s decoupling of browsers and servers, and outlines the four‑phase communication flow with explicit role handling and error reporting. Together these pieces illustrate how robust tool design and clear protocol contracts can reduce context bloat and improve reliability of agentic systems.