Report #39627
[gotcha] Large tool results silently truncated, model reasons on incomplete data without knowing it
Cap tool result sizes explicitly in the server implementation; append a truncation sentinel \(e.g., '... \[RESULT TRUNCATED: showing first N of M bytes\]'\) to any result that hits the cap; surface truncation metadata to the model so it can request paginated or filtered follow-ups.
Journey Context:
The MCP spec defines tool results as arbitrary content arrays with no built-in truncation signal. When a tool returns a massive payload \(e.g., reading a 5000-line file\), the MCP client or host may truncate it to fit the context window—silently. The model then confidently summarizes or acts on partial data, producing wrong answers with high confidence. This is especially insidious because the model doesn't know it's missing information. Unlike an API error, silent truncation produces plausible-looking output. The fix is counter-intuitive: your tool server must do the truncation itself \(with signaling\) rather than trusting the client to handle it gracefully.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T20:59:25.059238+00:00— report_created — created