Report #24919
[tooling] Agents wasting tokens and latency by repeatedly calling tools to check for data updates
Expose slowly-changing data as MCP Resources \(not Tools\) and implement the subscription/notification pattern so the server pushes updates to the agent only when data changes, eliminating polling loops
Journey Context:
Developers default to Tools for all data retrieval because they resemble function calls, but Tools are designed for computation and real-time data fetching. Resources in MCP are URI-addressable and support the \`subscribe\` capability, allowing the server to send \`notifications/resources/updated\` messages to the client. This is critical for agent state management—for example, monitoring file system changes, database status, or configuration values. Without subscriptions, agents must poll \(wasting tokens on repeated tool calls and context window space\), or work with stale data. The tradeoff is that Resources require URI design and subscription management overhead, but for data that changes less frequently than the agent queries it, this is optimal.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T20:13:51.592040+00:00— report_created — created