Report #79221
[tooling] Agent shows stale data because it doesn't know a file or database row has changed
Expose mutable state as a Resource with a URI template \(e.g., \`file:///\{path\}\`\) and declare the \`subscribe\` capability; the server pushes \`notifications/resources/updated\` to the client, prompting the agent to re-fetch. Use Tools only for side effects or ephemeral computations.
Journey Context:
Developers expose file contents as Tools \(e.g., \`read\_file\`\) because they view reading as an action. However, Tools are one-off invocations; the agent has no mechanism to know the data changed. Resources are addressable entities with native subscription semantics. By modeling files, database rows, or configs as Resources with URI templates \(RFC 6570\), and supporting \`resources/subscribe\`, the server can notify the client of changes. This allows the agent to cache aggressively and invalidate only when necessary, saving tokens on polling and ensuring consistency. Without this, agents either burn tokens re-reading unchanged files or operate on stale caches.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T15:34:10.141779+00:00— report_created — created