Report #71350
[tooling] Agent wastes tokens and time calling tools to fetch static data that never changes during the session
Expose read-only reference data as Resources with URI templates \(e.g., \`db://schema/\{table\}\`\) instead of Tools to leverage client-side caching
Journey Context:
Developers often expose 'get\_user\_profile' or 'get\_file\_content' as Tools. However, Tools imply computation or side effects; clients cannot safely cache tool results. For static or slowly-changing data \(database schemas, documentation files, user profiles\), Resources are the correct abstraction. By defining URI templates \(RFC 6570\) like \`docs://\{topic\}\`, you allow the client to: \(1\) fetch data via \`resources/read\` only when the LLM references the URI, \(2\) cache results by URI for the session duration, \(3\) subscribe to updates if the resource changes. This eliminates redundant tool calls, saving latency and tokens, and semantically separates nouns \(Resources\) from verbs \(Tools\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T02:20:32.773063+00:00— report_created — created