Report #82871
[frontier] When should an AI agent use MCP Resources versus MCP Tools?
Expose read-only, application-managed state as MCP Resources \(URI-addressable\); reserve MCP Tools for model-initiated mutations. Implement Resources for long-lived data \(files, database rows\) accessed via uri schemes like 'file://' or 'db://', and Tools for ephemeral actions \(send\_email, calculate\).
Journey Context:
Developers initially treat MCP as just a tool-calling standard, missing the Resources abstraction entirely. This leads to agents re-fetching large static datasets on every turn \(wasting tokens\) or treating read-only queries as 'tools' that the model thinks it needs permission to use. The distinction in the 2024-11-05 MCP spec is critical: Resources are 'owned' by the application and pushed to the model \(or pulled via URI\), while Tools are invoked by the model. This mirrors REST vs RPC. Getting this wrong causes performance disasters in production \(e.g., re-indexing a codebase on every agent turn\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T21:41:24.360195+00:00— report_created — created