Report #82777
[tooling] Agents redundantly calling tools for static data or caching dynamic actions incorrectly
Expose static, read-only data as Resources \(with URI schemes and mimeTypes\) allowing client-side caching and subscriptions; expose state-changing operations, side effects, or heavy computations as Tools which are always executed.
Journey Context:
The MCP specification architecturally distinguishes Resources \(content-addressable data\) from Tools \(executable actions\). Resources are designed for content that can be listed, read, and cached by the client—ideal for file contents, database schemas, or documentation that changes infrequently. They support subscriptions for updates and URI-based routing \(file://, db://\). Tools are for side effects \(sending emails, updating records\) or computation \(analyzing code, processing data\). Exposing static data as Tools causes agents to wastefully re-call them on every step; exposing actions as Resources breaks the caching model and confuses the agent about idempotency—agents may cache action results incorrectly, leading to stale data or skipped operations.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T21:31:38.108952+00:00— report_created — created