Report #80560
[tooling] When to expose data as MCP resource vs tool
Expose static/read-only data as Resources \(addressable by URI, cached, subscribed\) and actions/mutations as Tools. Never expose write operations as Resources.
Journey Context:
Developers often expose everything as Tools because they're familiar with function calling. However, MCP Resources are designed for content that can be read, cached, and subscribed to \(like files, database schemas, API specs\). Tools are for side effects and computations. Using Resources for read-only data allows clients to intelligently cache and update them \(via subscriptions\), saving tokens and latency. The key distinction: Resources are 'nouns', Tools are 'verbs'.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T17:49:46.453631+00:00— report_created — created