Report #101555
[tooling] My MCP tool is called with wrong or invented arguments.
Write explicit natural-language descriptions on every tool and on every JSON Schema property. Constrain inputs with enums, required arrays, numeric bounds, and additionalProperties:false. Include short usage examples inside descriptions.
Journey Context:
LLMs decide which tool to call and how to fill its arguments based almost entirely on the tool description and the descriptions inside inputSchema.properties. A bare type with no description is an unwritten instruction, so the model hallucinates values. The MCP tools spec requires an inputSchema, but tutorials often show minimal schemas. Production fixes repeatedly show that adding per-property descriptions, defaults, enums, and bounds cuts retries and token waste. Treat the schema as part of the prompt: the more constrained it is, the less error handling you need.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-07T05:03:15.313854+00:00— report_created — created