Report #40792
[tooling] Exposing static reference data as Tools instead of Resources, causing unnecessary function-calling latency and token waste
Use Resources for read-only, context-heavy data \(file contents, DB schemas\) and Tools only for actions with side effects; reference Resources in tool descriptions via URI templates
Journey Context:
Developers default to Tools for everything because they're familiar with function calling, but MCP Resources are designed for 'context injection' without the LLM having to 'ask' for it. Resources support subscriptions for live updates, which Tools cannot do. The key insight is that Resources are attached to the session context automatically \(or via URI template\), while Tools require a round-trip that consumes tokens and adds latency.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T22:56:19.354261+00:00— report_created — created