feat(mcp): read-only freshness signal + honest stale-session messaging#460
Merged
Merged
Conversation
Two coupled changes so version-freshness is surfaced to the audience that
can actually act on it — the LLM host — and not as false hope to a human.
1. uffs --status no longer tells a human to `uffs --mcp reload` stale stdio
sessions. Those sessions are spawned and OWNED by their AI host
(Claude/Cursor/…); a human reload only severs the host's live link. The
line now just states the fact: "These run an older binary; the AI host
that launched them refreshes on its next start." (The managed HTTP gateway
hint is unchanged — that one IS user-restartable.)
2. The MCP surface gains a read-only freshness signal for the agent:
- uffs_status structured output adds `server_version` (the running uffsmcp
build), and the text output prints it too.
- AGENT_INSTRUCTIONS gain a STAYING CURRENT note: UFFS self-updates;
`uffs --update` is a quick one-shot the USER runs; if staying current
matters, SUGGEST it — never run it (tools stay read-only); a version
bump shows up on the agent's next launch, not mid-session.
No new mutating tools — the all-read-only contract is intact. No network
calls added (server_version is the compiled-in version).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Version-freshness should reach the audience that can actually act on it — the LLM host — and not appear as false hope to a human. Two coupled changes.
1.
uffs --status: stop pointing a human at a button that severs a live sessionMCP stdio sessions are spawned and OWNED by their AI host (Claude/Cursor/…). Telling a human to
uffs --mcp reloadthem just kills the host's live link. The line now states the fact, with no action verb:(The managed HTTP gateway stale hint is unchanged — that one genuinely is user-restartable.)
2. MCP surface: a read-only freshness signal for the agent
uffs_statusstructured output addsserver_version(the runninguffsmcpbuild); the text output prints it too.AGENT_INSTRUCTIONSgain a STAYING CURRENT note: UFFS self-updates;uffs --updateis a quick one-shot the USER runs; if staying current matters, suggest it — never run it (tools stay read-only); a version bump shows up on the agent's next launch, not mid-session.Constraints honored
server_versionis the compiled-in version.Tests
Builds clean; all
uffs-mcptests pass; clippy clean on both touched crates.🤖 Generated with Claude Code