Report #102015
[tooling] Agent wastes turns calling read-only lookups as tools
Expose read-only, context-shaped data as Resources \(especially Resource Templates\), and reserve Tools for side-effecting actions or computations. Use URI templates so the model can construct resource URIs directly, like file:///\{path\} or docs://search?q=\{query\}.
Journey Context:
The spec defines a control hierarchy: Prompts are user-controlled, Resources are application-controlled context, and Tools are model-controlled actions. The common mistake is to build get\_file or search\_docs as tools. Tools cost a turn and often require user approval; Resources are pulled into context automatically when referenced. Resource Templates let you expose parameterized URIs without enumerating every possible value. If an operation has no side effects and only returns data the model needs as context, make it a Resource. If it writes, computes, or triggers external workflows, make it a Tool.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-08T04:49:45.023870+00:00— report_created — created