[RFC] Standardizing Server Implementation Versioning & Discovery #727
Replies: 2 comments
This comment was marked as spam.
This comment was marked as spam.
-
|
The capability-hash idea is really appealing because a lot of safety assumptions ride on clients having an accurate picture of what a server can do right now. Silent drift is not just an ergonomics bug; it can become a policy bug if an agent is reasoning from stale tool schemas or cached expectations.\n\nOne thing I would love to see preserved in any version/discovery scheme is the ability to distinguish:\n- implementation/version drift\n- capability-surface drift\n- annotation/policy-signaling drift\n\nThose matter differently for operations. A server can keep the same name and even the same semantic version while still becoming meaningfully riskier if a destructive tool appears, an approval hint disappears, or a schema changes in a way that broadens what an argument can do.\n\nSo a discovery model that lets clients notice not only "the server changed" but also "the trust profile changed" would be especially valuable. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Pre-submission Checklist
Your Idea
[RFC] Standardizing Server Implementation Versioning & Discovery
The Challenge: The "Version Blindness" Problem
As the MCP ecosystem expands, we are hitting a technical wall where managing server updates is becoming functionally impossible. While the protocol currently handles protocol versioning (handshaking), there is no standard for implementation versioning. This creates several critical failure points:
npxor Docker, it is difficult to verify which version of the business logic is actually live.Proposed Direction
We need a lightweight, standard way for a server to broadcast its own version and capability manifest. I suggest we explore:
serverVersion(SemVer) field within theinitializeresult or as a reserved property ingetServerInfo.versionmethod before passing definitions to the LLM.What can be done before implementation
Since the protocol is currently designed to be minimal, I want to hear from those building production-grade integrations:
search_v2) or relying on the LLM to adapt to schema changes on the fly?metafield to the initialization process be sufficient, or do we need a dedicated discovery method?Scope
Beta Was this translation helpful? Give feedback.
All reactions