Report #17544
[tooling] MCP server exposes collection items as tools instead of resources causing redundant tool calls
Expose collection items as Resource Templates with URI templates \(e.g., 'user://\{id\}'\) and implement 'notifications/resources/list\_changed' rather than 'get\_user' tools. Subscribe clients to changes instead of polling.
Journey Context:
Developers default to tools for everything because they map to functions, but resources are for data that has identity and changes over time. The key insight is URI templates allow dynamic resources without pre-registering thousands of items. Without list\_changed notifications, clients must poll, wasting tokens. Tools are for actions \(side effects\); resources are for state.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T05:44:47.917862+00:00— report_created — created