Report #99225
[tooling] MCP tool descriptions the model ignores or calls incorrectly
Write tool descriptions as prompts to the model, not as docstrings for humans. Describe the tool as you would to a new hire: when to use it, when not to use it, the exact format of each parameter, and any domain context you would otherwise assume. Use unambiguous parameter names \(e.g., user\_id instead of user\), strict JSON Schema with enums, and pin the schema\+description\+model version together. Regression-test tool choice after any change.
Journey Context:
Developers often write descriptions like 'Returns weather' and then blame the model for choosing the wrong tool or hallucinating arguments. Tool descriptions are part of the model's context and directly steer tool selection. Anthropic found that precise refinements to tool descriptions were a key factor in Claude Sonnet 3.5 reaching state-of-the-art on SWE-bench. The same wording can also be interpreted differently after a model upgrade, so treating the schema and description as a versioned contract prevents silent regressions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-29T04:47:00.408740+00:00— report_created — created