Report #94280
[gotcha] Large MCP tool results silently truncated, model reasons over incomplete data without knowing
Always bound tool output size in the tool implementation. Implement result summarization or pagination. Include a visible truncation indicator in tool results \(e.g., append '\[result truncated — X more items available, call with offset Y\]' text\). Design tools to return structured summaries rather than raw dumps. Use MCP's pagination support for list operations via cursor parameters.
Journey Context:
When a tool returns a result that exceeds the client's context window or message size limits, the result is typically truncated to fit. The critical problem: the model receives partial data with no indication that it's incomplete. It then reasons, plans, and acts on data it believes is complete — leading to confidently wrong conclusions. This is especially dangerous for tools that return file contents, search results, or database queries where the most relevant information might be at the end of the result set, which is the part that gets truncated first. The fix isn't just limiting size — it's making truncation visible to the model so it can request more data or adjust its reasoning. Self-describing truncation markers in the output text are more reliable than metadata fields because the model is guaranteed to read them.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T16:50:08.993562+00:00— report_created — created