A 20-Word Description Change Lifted MCP Tool Accuracy to 85%
Tool-call accuracy is the difference between an agent that silently hallucinates answers and one that actually uses your APIs. A small, disciplined change to description text — not model retraining or prompt overhauls — fixes the selection problem at the root, and the same template works across any MCP Server.
Most MCP Server developers treat tool descriptions as documentation for humans, but the LLM uses only three fields — name, description, and inputSchema — during tool selection. A description is an inference signal injected into the system prompt; changing 20 words can matter more than rewriting 200 lines of schema. Nearly 10% of MCP Servers scanned in a recent paper had description-code mismatches, so the AI never learns what the tool actually does. The fix is a three-part description template: a one-sentence domain map, 3–5 specific trigger scenarios phrased as user utterances, and 3–5 exclusion boundaries that prevent calls during small talk or out-of-scope topics. Parameter-level descriptions in inputSchema need the same care — value ranges and guidance on when to change defaults stop the model from filling impossible values or wasting tokens. For Chinese-speaking users, descriptions written in Chinese match queries more accurately in the embedding space than English descriptions do.
The counter-intuitive finding that 20 words of description outweigh 200 lines of schema follows directly from the MCP protocol's architecture: description controls selection, schema controls parameter filling, and a tool that is never selected gets no benefit from a perfect schema.
Writing trigger scenarios as literal user utterances ('when the user asks to compare two AI tools') rather than abstract conditions ('when comparison is needed') shifts the description from documentation to prompt engineering — it gives the LLM a direct pattern to match against the query.
The 9.93% description-code mismatch rate suggests a systemic failure mode: developers update code without updating descriptions, creating tools that the LLM can never learn to use correctly because the signal it receives is factually wrong.
Exclusion boundaries are not just a safety net; they are a precision control. Without them, higher trigger rates degrade into noise because the LLM follows the positive instruction literally across all contexts, including greetings and off-topic chat.
Language choice in descriptions is an embedding-space optimization problem, not a stylistic preference — cross-language semantic matching still carries a measurable accuracy penalty that matters at tool-selection time among 21,000+ competing tools.