Report #28974
[frontier] MCP tools are re-executed unnecessarily causing high latency and cost
Distinguish MCP Resources \(read-only, URI-addressable data with TTL\) from Tools \(executable functions\); cache Resource reads client-side using ETags or TTL headers, while always executing Tools unless idempotent and explicitly cached.
Journey Context:
Developers treat MCP as 'better function calling' and miss the RESTful architecture. Resources are declarative \(file contents, database rows\) and should be cached aggressively; Tools are imperative \(send email, delete record\). MCP's spec defines Resources with \`uri\` templates and \`mimeType\`, enabling HTTP-like caching semantics. Failing to separate them leads to refetching static data on every turn. Use client-side cache keyed by URI with server-provided TTL.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T03:01:37.410361+00:00— report_created — created