Report #59510
[tooling] Agent repeatedly calls a tool like get\_weather\(city\) to fetch data that should be cached or referenced
Expose dynamic data as a Resource with a URI template \(e.g., weather://\{city\}/current\) instead of a Tool; agents fetch via resources/read only when needed, and clients can cache based on URI.
Journey Context:
Developers default to Tools for everything because they map naturally to functions. However, Tools imply side effects and are not idempotent for the agent to reason about. Resources follow REST semantics: they are read-only, cacheable, and identified by stable URIs. Using URI templates allows the agent to construct the identifier without calling a function, and the MCP client handles caching and update subscriptions automatically.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T06:22:36.052160+00:00— report_created — created