Follow Discord
Sweep 10 Nov 2026 · 02:18Z Build v2.1.322 539 read Stable v2.1.311 Latest v2.1.322 Next v2.1.322 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · mcp

Feature Lifecycle and Deprecation changedcommunity/feature-lifecycle

Nearest release: v2.1.321, published 5 hours after upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 9 Nov 2026 13:29 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 9 Nov 2026 13:37 UTC.

Upstream edited
Recorded here
Lines+61added
Lines−71removed
From line 1 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits5to this page, all time

# Feature Lifecycle and Deprecation # Feature Lifecycle and Deprecation Policy

The whole hunk

from line 1, old and new numbered
/
lines
from line 1
1# Feature Lifecycle and Deprecation Policy
1# Feature Lifecycle and Deprecation
22 
33> How individual MCP specification features move through Active, Deprecated, and Removed states, and the timeline implementers can plan against.
44 
5This policy defines a lifecycle for individual features within the Model
6Context Protocol specification. It defines three feature states (Active,
7Deprecated, Removed), the criteria and procedure for moving between them, a
8minimum window between deprecation and removal, and the documentation required
9at each transition.
5This page defines how a feature of the MCP specification is deprecated and
6later removed, and the obligations that follow for SDKs. It was adopted by
7[SEP-2596](https://modelcontextprotocol.io/seps/2596.md), a Specification Enhancement Proposal (SEP), and is
8changed by a Process SEP. Features
9currently Deprecated or scheduled for removal are listed in the
10[Deprecated registry](https://modelcontextprotocol.io/specification/draft/deprecated.md).
1011 
11This policy was adopted via
12[SEP-2596](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2596).
13 
1412## Scope
1513 
1614This policy governs **features** of the MCP core specification: protocol
from line 26
2826| **Deprecated** | The feature remains in the specification but is scheduled for removal. A migration path is documented (see below). | New implementations should not adopt the feature. Existing implementations should migrate before the earliest removal date. |
2927| **Removed** | The feature has been deleted from `draft` and will be absent from the next Current revision. It remains documented in the Final revision it last appeared in. | Implementations targeting that next Current revision must not depend on the feature. |
3028 
31A Deprecated feature MAY be restored to Active by a SEP that supersedes the
29A Deprecated feature may be restored to Active by a SEP that supersedes the
3230deprecation SEP and documents the changed circumstances. Restoration follows
3331the same approval path as deprecation. If the feature is later deprecated
3432again, the minimum deprecation window in
35[Deprecating a feature](#deprecating-a-feature) is measured afresh from the
33[Deprecating a Feature](#deprecating-a-feature) is measured afresh from the
3634revision in which the new deprecation takes effect.
3735 
3836### SDKs
from line 47
4947 mitigated in place,
5048* ecosystem telemetry or SDK maintainer consensus indicates negligible adoption
5149 relative to its maintenance cost,
52* or any other reasons the Core Maintainers deem appropriate.
50* the Core Maintainers deem it appropriate for any other reason.
5351 
54Deprecation is a specification change and therefore requires a SEP per the
55[SEP guidelines](https://modelcontextprotocol.io/community/sep-guidelines.md). The deprecation SEP must:
52Deprecation requires a SEP (see [SEP Guidelines](https://modelcontextprotocol.io/community/sep-guidelines.md)).
53The deprecation SEP must:
5654 
57551. Identify the feature by name and link to its definition in `schema.ts`
5856 (where applicable) and the specification prose.
from line 60
6260 in the revision in which the deprecation takes effect; the replacement and
6361 the deprecation may land in the same revision.
64624. Specify the **minimum deprecation window**: the number of months, at least
65 twelve, that the feature must remain Deprecated before it is eligible for
66 removal. The window is measured from the release of the specification
67 revision in which the feature is first marked Deprecated, not from the date
68 the SEP reaches Final. The feature becomes eligible for removal in the first
69 specification revision released as Current on or after the window elapses;
70 that point is the feature's **earliest removal**.
63 twelve, that the feature must remain Deprecated. The feature's **earliest
64 removal** is the first specification revision released as Current on or
65 after the window elapses.
7166 
72When the deprecation SEP is accepted and reaches Final, the deprecation is scheduled.
67When the deprecation SEP is accepted, its author makes the following changes
68to the draft specification in the SEP's pull request, and the sponsor verifies
69them before setting `final` (see
70[SEP Guidelines](https://modelcontextprotocol.io/community/sep-guidelines.md#workflow)):
7371 
74* The feature's entry in `schema.ts` gains a `@deprecated` JSDoc tag
72* Add a `@deprecated` JSDoc tag to the feature's entry in `schema.ts`,
7573 referencing the deprecation SEP and the revision in which the deprecation
7674 takes effect.
77* The specification prose for the feature gains a deprecation notice with the
78 same information.
79* The `changelog.mdx` for that revision gains an entry under a "Deprecated"
80 heading. "Deprecated" and "Removed" are standing changelog headings alongside
81 the existing Major/Minor/Other groupings.
82* The feature is added to the
83 [deprecated registry](#the-deprecated-registry) with its deprecation SEP, the
84 revision in which it became Deprecated, its migration path, and its earliest
85 removal.
75* Add a deprecation notice with the same information to the feature's
76 specification prose.
77* Record the deprecation in that revision's `changelog.mdx` under a
78 "Deprecated" heading. "Deprecated" and "Removed" are standing changelog
79 headings alongside Major/Minor/Other.
80* List the feature in the [deprecated registry](#the-deprecated-registry) with
81 its deprecation SEP, the revision in which it became Deprecated, its
82 migration path, and its earliest removal.
8683 
87The feature becomes Deprecated when the revision carrying these changes is released
88and becomes the new Current revision (see [versioning guide](https://modelcontextprotocol.io/docs/learn/versioning.md)).
89The minimum deprecation window is counted from that release.
84The feature becomes Deprecated when the revision carrying these edits is
85released as Current (see [versioning guide](https://modelcontextprotocol.io/docs/learn/versioning.md)), and the
86minimum deprecation window is counted from that release, not from the date the
87SEP reaches Final.
88[SEP-2577](https://modelcontextprotocol.io/seps/2577.md) is a worked example of a deprecation SEP.
9089 
9190## The Deprecated Registry
9291 
9392[`docs/specification/draft/deprecated.mdx`](https://modelcontextprotocol.io/specification/draft/deprecated) is
94a single page listing every feature in a Deprecated or Removed state. It is
95the canonical answer to "what is on its way out, and by when," so that an
96implementer does not have to reconstruct that picture from deprecation entries
97spread across revision changelogs.
93the single list of every feature in a Deprecated or Removed state.
9894 
9995## Tier 1 SDK Obligations
10096 
101Once the revision in which a feature becomes Deprecated is
102released as Current, Tier 1 SDKs:
97Once the revision in which a feature becomes Deprecated is released as Current,
98Tier 1 SDKs:
10399 
104100* Must mark the corresponding API surface deprecated using the language's
105101 native mechanism (for example `@Deprecated` in Java, `[Obsolete]` in .NET,
from line 107
111107 `DeprecationWarning`, Node.js's `process.emitWarning`, or a configurable
112108 logger).
113109 
114A Tier 1 SDK that consistently fails to surface a Deprecated feature is subject to the
115[Tier Relegation Process](https://modelcontextprotocol.io/community/sdk-tiers.md#tier-relegation).
110A Tier 1 SDK that consistently fails to surface a Deprecated feature is subject
111to [tier relegation](https://modelcontextprotocol.io/community/sdk-tiers.md#tier-relegation).
116112 
117113## Removing a Feature
118114 
1191. Once a feature is set for removal, the removal is executed at the discretion
120 of the Core Maintainers after the minimum deprecation window has elapsed.
1212. The removal needs to be documented in the `changelog.mdx` and [registry](#the-deprecated-registry).
1223. A SEP is required for any change to the original deprecation or removal SEP, for
123 example extending or shortening the timeline
124 ([Expedited removal](#expedited-removal)) or restoring the feature to Active
125 ([Feature states](#feature-states)).
115After the minimum deprecation window has elapsed, Core Maintainers may remove
116the feature when preparing a release. The removal is recorded in
117`changelog.mdx` under the "Removed" heading and in the
118[registry](#the-deprecated-registry). Any change to the original deprecation or
119removal, such as extending or shortening the timeline
120([Expedited removal](#expedited-removal)) or restoring the feature to Active
121([Feature states](#feature-states)), requires a SEP. A feature may remain
122Deprecated indefinitely.
126123 
127Features may remain Deprecated, without removal, for much longer than the minimum deprecation window.
128 
129124## Expedited Removal
130125 
131The twelve-month floor may be shortened when the feature presents an active
132security risk, meaning a vulnerability with a published security advisory or
133documented in-the-wild exploitation for which no in-place mitigation exists.
134Shortening the window requires Core Maintainer approval under the
135[governance decision process](https://modelcontextprotocol.io/community/governance.md#decision-process), recorded
136in the deprecation SEP or, where the risk surfaces after that SEP is already
137Final, in a short expedited-removal SEP that references it. The shortened
138window must still provide at least ninety days between the feature becoming
139Deprecated and its earliest removal.
126The twelve-month minimum window may be shortened when the feature presents an
127active security risk, meaning a vulnerability with a published security
128advisory or documented in-the-wild exploitation for which no in-place
129mitigation exists. Shortening the window requires Core Maintainer approval
130under the [governance decision process](https://modelcontextprotocol.io/community/governance.md#decision-process),
131recorded in the deprecation SEP or, where the risk surfaces after that SEP is
132already Final, in a short expedited-removal SEP that references it. The
133shortened window must still provide at least ninety days between the feature
134becoming Deprecated and its earliest removal.
140135 
141136## Roles
142137 
143| Action | Who |
144| - | - |
145| Propose deprecation, extension, or restoration | Any contributor, per the SEP process |
146| Sponsor | A Maintainer or Core Maintainer, per the SEP process |
147| Approve a deprecation SEP | Core Maintainers, per the [governance decision process](https://modelcontextprotocol.io/community/governance.md#decision-process) |
148| Decide a removal during release preparation | Core Maintainers, per the [governance decision process](https://modelcontextprotocol.io/community/governance.md#decision-process) |
149| Approve an extension or restoration SEP | Core Maintainers, per the [governance decision process](https://modelcontextprotocol.io/community/governance.md#decision-process) |
150| Approve expedited removal | Core Maintainers, per the [governance decision process](https://modelcontextprotocol.io/community/governance.md#decision-process) |
151 
152Lead Maintainers retain veto authority over each of the approvals
153above, per the [governance roles](https://modelcontextprotocol.io/community/governance.md#roles) definition.
138Any contributor may propose a deprecation, extension, or restoration through
139a SEP with a sponsor (see [SEP Guidelines](https://modelcontextprotocol.io/community/sep-guidelines.md#sponsors)).
140Core Maintainers approve deprecations, removal timing, extensions,
141restorations, and expedited removals under the
142[governance decision process](https://modelcontextprotocol.io/community/governance.md#decision-process), subject
143to Lead Maintainer veto (see [Governance](https://modelcontextprotocol.io/community/governance.md#roles)).
154144 
Feedback