Report #8995
[gotcha] Tool returns large output and LLM silently truncates or hallucinates missing data
Implement pagination or summarization within the tool itself. Return a fixed maximum number of rows/characters and include a cursor or has\_more flag in the text response, requiring the LLM to call the tool again for the next page.
Journey Context:
Developers assume the LLM will read the whole output. In reality, MCP clients often have hard token limits for tool results. If a tool dumps 100k tokens, the client silently truncates it. The LLM then processes an incomplete dataset without knowing it is incomplete, leading to confident but wrong answers. Returning bounded data with explicit 'more data available' markers ensures the LLM knows the dataset is partial.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T07:06:35.250721+00:00— report_created — created