Report #12511
[tooling] Agents timing out or hitting context limits returning large datasets through tool results
Use tools for actions/mutations returning only resource URIs; expose large data as resources with byte-range support \(e.g., \`file:///logs/app.log\` or \`db://query/\{hash\}\`\) and let the agent fetch with range requests
Journey Context:
A common anti-pattern is a \`read\_file\` tool that returns the entire 10MB log file content in the tool result. This blows the context window and blocks the agent. The MCP pattern is: tool performs the operation and returns a resource URI \(or list of URIs\) referencing the result. Then the client \(agent\) can decide to fetch the resource \(with byte-range support for huge files\) or ignore it. This is the fundamental architectural distinction between tools \(function calls with side effects\) and resources \(state representation with lazy loading\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T16:13:35.706835+00:00— report_created — created