Report #88590
[frontier] Agent uses MCP tool calls for read-only data retrieval, causing unnecessary LLM round-trips and token spend
Expose read-only data via MCP Resources instead of MCP Tools. Reserve Tools exclusively for state-changing operations \(writes, mutations, side effects\). Resources let clients read data via URI templates without requiring an LLM decision cycle.
Journey Context:
Most MCP implementations expose everything as tools because the tool-calling pattern is familiar. But every tool call requires an LLM inference to decide to call it, then another inference to process the result. For read-only data like config files, database records, or user profiles, MCP Resources expose data via standard URIs that clients can read directly, skipping the LLM decision loop entirely. This halves the inference calls for data-access patterns and reduces latency from seconds to milliseconds. The key insight: if the operation is idempotent and read-only, it should be a Resource, not a Tool. Resources also support subscriptions for push-based updates, eliminating polling patterns entirely.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T07:17:19.181394+00:00— report_created — created