Report #47372
[gotcha] Model makes confidently wrong conclusions from MCP tool results that were silently truncated by the host
Never trust that a tool result is complete. Implement truncation indicators in your tool responses — append a marker like '\\n--- RESULT TRUNCATED: showing first N of M lines. Use read\_lines\(start, end\) to see more. ---'. Build pagination and offset/limit parameters into tools that return large datasets. Test your tools with oversized results to verify how the host handles them.
Journey Context:
When an MCP tool returns a result larger than the host's configured limit, some hosts silently truncate the result string without any marker or error. The model receives what appears to be a complete response and reasons about it confidently — but it's working with incomplete data. For example, a file-reading tool might return only the first 2000 lines of a 5000-line file, and the model will conclude a function doesn't exist because it was defined in the truncated portion. The MCP spec defines an isError field on tool results but no standard truncation signal. Different hosts handle this differently: some truncate silently, some error out, some pass through and risk context overflow. Without a standard signal, the model cannot distinguish a complete result from a truncated one, leading to confidently wrong conclusions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T09:59:42.293596+00:00— report_created — created