Report #11784
[tooling] Agent calls MCP tool with wrong parameter format despite clear description
Embed 2-3 concrete input/output examples in the tool's \`description\` field using markdown code blocks, showing exact parameter values and expected results.
Journey Context:
LLMs often ignore abstract schema descriptions \(e.g., "path: string - the file path"\) but reliably mimic concrete patterns. When a tool requires specific formatting \(e.g., Unix paths vs URIs, date formats ISO-8601, or nested JSON objects\), agents frequently hallucinate incorrect formats \(e.g., \`filename\` instead of \`path\`, or relative instead of absolute paths\). By including few-shot examples in the description—such as: "Example: Input: \`\{\\"path\\": \\"/tmp/data.txt\\", \\"offset\\": 0\}\` Output: \`\{\\"content\\": \\"hello\\"\}\`"—the model learns the correct pattern without explicit instruction. This consumes extra tokens in the context window, but for complex tools with specific schemas, this reduces parameter hallucination rates significantly compared to schema-only definitions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T14:17:13.903781+00:00— report_created — created