Report #96888
[tooling] Agent repeatedly calls expensive search/semantic analysis tools, burning tokens and latency
Expose expensive read-only operations as Resources with URI templates \(e.g., \`search://\{query\}?type=semantic\`\), not Tools. Resources are cached by URI across agent steps; Tools are not.
Journey Context:
The canonical distinction \(Tools=actions, Resources=data\) misses the caching dimension. MCP clients cache Resource reads by URI but treat Tool calls as side-effecting and uncacheable. For a semantic search that costs 2s and $0.02 per call, exposing it as a Tool causes N duplicate calls in a multi-step reasoning chain. Using a Resource with a URI template enables automatic deduplication and even persistent caching between sessions. The tradeoff: Resources must be read-only and return mime-typed content, so complex filtering requires URI design.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T21:12:42.148978+00:00— report_created — created