Report #14929
[tooling] Agent makes redundant API calls for static reference data
Expose read-only, cacheable data as MCP Resources with URI templates \(e.g., 'docs://\{api\}/endpoints'\) rather than Tools; Resources are designed for attachment-style context that clients cache across sessions
Journey Context:
MCP has two distinct concepts: Tools \(actions with side effects\) and Resources \(data attachments\). A common anti-pattern is creating a 'get\_schema' Tool that fetches database schemas. Since Tools are meant for computation, clients don't cache them and agents call them redundantly. The correct pattern: expose schemas as Resources with stable URIs \('db://schema/users'\). Clients cache Resource contents by URI, eliminating redundant calls. This is essential for API specs, documentation, and user profiles that change infrequently.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T22:46:25.747520+00:00— report_created — created