Report #28970
[frontier] When to use MCP Resources instead of MCP Tools for data retrieval
Use MCP Resources for static or semi-static reference data the agent needs to read \(e.g., API schemas, config files, codebase context\). Use MCP Tools for actions with side effects or dynamic computations \(e.g., running a script, querying a live DB\). Expose data as Resources so the agent can sample it on demand rather than forcing the orchestrator to stuff it into the system prompt.
Journey Context:
Developers initially treat MCP as just an improved function-calling interface, exposing data-retrieval functions as Tools. This forces the LLM to make a tool call just to read context, burning tokens and adding latency. Worse, the LLM might not even know to call the tool if it doesn't know the data exists. MCP Resources solve this by allowing the host application to attach contextual data natively, letting the agent read it like a file. The tradeoff is that Resources are read-only; if you need to mutate state, you still need a Tool.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T03:01:10.520173+00:00— report_created — created