Lifecycle changedspecification/2025-11-25/basic/lifecycle
Nearest release: v2.1.305, published under an hour before 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 20 Oct 2026 20:02 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 22 Oct 2026 20:37 UTC.
Upstream edited
Recorded here
Lines+18added
Lines−18removed
From line
151
where the diff opens
First seen
26 Aug 2026
this site's first read of the page
Recorded edits4to this page, all time
The whole hunk
from line 151, old and new numbered
/
from line 151
151151```
152152
153153* The client **SHOULD NOT** send requests other than
154 [pings](/specification/2025-11-25/basic/utilities/ping) before the server has responded to the
154 [pings](/specification/2025-11-25/basic/utilities/ping.md) before the server has responded to the
155155 `initialize` request.
156156* The server **SHOULD NOT** send requests other than
157 [pings](/specification/2025-11-25/basic/utilities/ping) and
158 [logging](/specification/2025-11-25/server/utilities/logging) before receiving the `initialized`
157 [pings](/specification/2025-11-25/basic/utilities/ping.md) and
158 [logging](/specification/2025-11-25/server/utilities/logging.md) before receiving the `initialized`
159159 notification.
160160
161161#### Version Negotiation
from line 174
174174>
175175> If using HTTP, the client **MUST** include the `MCP-Protocol-Version: <protocol-version>` HTTP header on all subsequent requests to the MCP
176176> server.
177> For details, see [the Protocol Version Header section in Transports](/specification/2025-11-25/basic/transports#protocol-version-header).
177> For details, see [the Protocol Version Header section in Transports](/specification/2025-11-25/basic/transports.md#protocol-version-header).
178178
179179#### Capability Negotiation
180180
from line 185
185185
186186| Category | Capability | Description |
187187| - | - | - |
188| Client | `roots` | Ability to provide filesystem [roots](/specification/2025-11-25/client/roots) |
189| Client | `sampling` | Support for LLM [sampling](/specification/2025-11-25/client/sampling) requests |
190| Client | `elicitation` | Support for server [elicitation](/specification/2025-11-25/client/elicitation) requests |
191| Client | `tasks` | Support for [task-augmented](/specification/2025-11-25/basic/utilities/tasks) client requests |
188| Client | `roots` | Ability to provide filesystem [roots](/specification/2025-11-25/client/roots.md) |
189| Client | `sampling` | Support for LLM [sampling](/specification/2025-11-25/client/sampling.md) requests |
190| Client | `elicitation` | Support for server [elicitation](/specification/2025-11-25/client/elicitation.md) requests |
191| Client | `tasks` | Support for [task-augmented](/specification/2025-11-25/basic/utilities/tasks.md) client requests |
192192| Client | `experimental` | Describes support for non-standard experimental features |
193| Server | `prompts` | Offers [prompt templates](/specification/2025-11-25/server/prompts) |
194| Server | `resources` | Provides readable [resources](/specification/2025-11-25/server/resources) |
195| Server | `tools` | Exposes callable [tools](/specification/2025-11-25/server/tools) |
196| Server | `logging` | Emits structured [log messages](/specification/2025-11-25/server/utilities/logging) |
197| Server | `completions` | Supports argument [autocompletion](/specification/2025-11-25/server/utilities/completion) |
198| Server | `tasks` | Support for [task-augmented](/specification/2025-11-25/basic/utilities/tasks) server requests |
193| Server | `prompts` | Offers [prompt templates](/specification/2025-11-25/server/prompts.md) |
194| Server | `resources` | Provides readable [resources](/specification/2025-11-25/server/resources.md) |
195| Server | `tools` | Exposes callable [tools](/specification/2025-11-25/server/tools.md) |
196| Server | `logging` | Emits structured [log messages](/specification/2025-11-25/server/utilities/logging.md) |
197| Server | `completions` | Supports argument [autocompletion](/specification/2025-11-25/server/utilities/completion.md) |
198| Server | `tasks` | Support for [task-augmented](/specification/2025-11-25/basic/utilities/tasks.md) server requests |
199199| Server | `experimental` | Describes support for non-standard experimental features |
200200
201201Capability objects can describe sub-capabilities like:
from line 222
222222
223223#### stdio
224224
225For the stdio [transport](/specification/2025-11-25/basic/transports), the client **SHOULD** initiate
225For the stdio [transport](/specification/2025-11-25/basic/transports.md), the client **SHOULD** initiate
226226shutdown by:
227227
2282281. First, closing the input stream to the child process (the server)
from line 235
235235
236236#### HTTP
237237
238For HTTP [transports](/specification/2025-11-25/basic/transports), shutdown is indicated by closing the
238For HTTP [transports](/specification/2025-11-25/basic/transports.md), shutdown is indicated by closing the
239239associated HTTP connection(s).
240240
241241## Timeouts
from line 243
243243Implementations **SHOULD** establish timeouts for all sent requests, to prevent hung
244244connections and resource exhaustion. When the request has not received a success or error
245245response within the timeout period, the sender **SHOULD** issue a [cancellation
246notification](/specification/2025-11-25/basic/utilities/cancellation) for that request and stop waiting for
246notification](/specification/2025-11-25/basic/utilities/cancellation.md) for that request and stop waiting for
247247a response.
248248
249249SDKs and other middleware **SHOULD** allow these timeouts to be configured on a
from line 250
250250per-request basis.
251251
252252Implementations **MAY** choose to reset the timeout clock when receiving a [progress
253notification](/specification/2025-11-25/basic/utilities/progress) corresponding to the request, as this
253notification](/specification/2025-11-25/basic/utilities/progress.md) corresponding to the request, as this
254254implies that work is actually happening. However, implementations **SHOULD** always
255255enforce a maximum timeout, regardless of progress notifications, to limit the impact of a
256256misbehaving client or server.
No line in this hunk matches that.