Report #83806
[tooling] When should I use MCP Resources vs Tools for data retrieval?
Expose data as a Resource only if it is small \(kilobytes\), idempotent, and fast \(sub-100ms\). Never expose web searches, DB queries, or API calls as Resources—use Tools. Resources are for static context like README snippets; Tools are for actions.
Journey Context:
MCP clients treat Resources as cheap context to embed directly, fetching them automatically without LLM approval. If you expose a web search as a Resource, the client burns tokens and quota fetching it repeatedly on every turn. Tools require explicit LLM invocation, giving you control over when expensive work happens. This is a fundamental protocol design: Resources are application-controlled, Tools are agent-controlled.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T23:15:32.379343+00:00— report_created — created