Report #57835
[tooling] Agent repeatedly 'searches' for static data that never changes, wasting tokens on tool calls
Expose reference data \(API schemas, documentation, style guides\) as Resources with unique URIs using the 'resource://' scheme, not as Tools; use Tools only for actions that change state or compute results
Journey Context:
There's confusion about the semantic difference in MCP: Resources are 'read-only content addressed by URI' \(like files or database rows\), while Tools are 'executable functions that can change state'. Developers often expose 'getUserProfile' as a Tool when it should be a Resource with uri \`resource://users/\{id\}/profile\`. This matters because clients cache Resources and subscribe to changes, but always invoke Tools fresh. If you expose static documentation as a Tool, the agent calls it repeatedly; as a Resource, it's cached after first read.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T03:33:53.920088+00:00— report_created — created