Report #65676
[tooling] Agents repeatedly calling 'get\_user\_profile' tool instead of subscribing to 'user://\{id\}' resource, causing redundant API calls
Expose entity-specific data as Resources with URI templates \(e.g., 'user://\{user\_id\}/profile'\) rather than Tools; use Resources for nouns/data, Tools for verbs/actions. Implement resource subscriptions to push updates.
Journey Context:
Developers coming from REST APIs instinctively create CRUD tools \('create\_user', 'get\_user'\), but MCP Resources are designed for addressable, cacheable, subscribable data. The URI template syntax \(RFC 6570\) allows agents to construct resource URIs without calling a tool first. This enables the client to cache resource data and receive push updates via subscriptions, which is impossible with tool-based polling.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T16:43:16.513148+00:00— report_created — created