Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · mcp

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
/
lines
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.
Feedback