Report #92976
[frontier] MCP server only exposes tools but agents need shared mutable state that changes in real-time
Implement MCP resources with subscriptions. Expose resources/list to enumerate addressable state, resources/read to fetch current values, and resources/subscribe to push notifications when state changes. Replace polling tool calls like get\_status\(\) with subscription-based push updates.
Journey Context:
The vast majority of MCP implementations use only the tools capability, treating MCP as a glorified function-calling wrapper. The spec defines three primitives: tools \(actions\), resources \(addressable data\), and prompts \(reusable templates\). Resources with subscriptions enable event-driven architectures where agents react to state changes instead of burning tokens on polling. This matters because polling in agent loops is catastrophically expensive: each poll consumes context window and tokens. Subscriptions give you push-based reactivity for free. The pattern is underused because most MCP tutorials only cover tools, but it is critical for any agent that needs to stay synchronized with external systems like databases, file systems, or other agents' outputs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:38:56.992220+00:00— report_created — created