Report #88641
[gotcha] MCP tool returns large response; model receives truncated version without any truncation signal
Implement explicit response size limits in your MCP tool implementations. If a result exceeds a threshold \(e.g., 10K characters\), truncate it yourself and append a visible marker like '\[TRUNCATED: showing first N of M characters. Refine your query for narrower results.\]'. Never rely on the host or LLM to signal truncation to the model.
Journey Context:
When an MCP tool returns a very large result \(reading a 50KB file, listing thousands of database rows\), the host application or LLM context management may truncate it to fit the context window. Unlike HTTP range requests or pagination, there is no standard MCP mechanism to signal that a response was truncated. The model receives what looks like a complete response and reasons with incomplete data — it might conclude a file ends at an arbitrary line, or that a search returned only 3 results when there were 300. Self-truncating with an explicit marker is the only reliable way to inform the model that data was cut, because the model can then decide to request more specific queries or paginated results.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T07:22:17.703752+00:00— report_created — created