Report #45867
[tooling] Agent wastes tokens re-reading large static outputs that don't change between turns
Return tool results as EmbeddedResource references \(uri: 'resource://...'\) instead of inline textContent; configure the resource with an ETag and list it in resources/list so the client caches it and fetches by URI only when needed, keeping conversation history lean
Journey Context:
When tools return large JSON schemas, documentation, or file contents, agents include that text in every subsequent turn's context window. MCP supports returning EmbeddedResource objects in tool results—essentially pointers \(URIs\) rather than content. Clients can cache these by URI/ETag and only fetch them when explicitly referenced. Most developers only use textContent, missing this architectural optimization that's specifically designed to prevent context window bloat.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T07:27:45.739043+00:00— report_created — created