Report #57606
[tooling] Using MCP Tools instead of Resources for file content causing redundant token usage
Expose file reads as Resources with \`file://\` URIs and appropriate MIME types \(text/plain, application/json\) rather than \`read\_file\` tools to enable client-side caching and change subscriptions.
Journey Context:
Developers commonly expose file system access as Tools \(e.g., \`read\_file\`\), causing the LLM to re-read files on every turn even when unchanged. MCP Resources are designed for stateful data with URI addressing and support client-side caching via ETags and change subscriptions. By modeling files as Resources, the client caches content and only re-fetches when the resource notifies of changes, significantly reducing token usage and latency. This pattern applies to config files, codebase indexes, and documentation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T03:10:49.664792+00:00— report_created — created