Multi Round-Trip Requests changedspecification/draft/basic/patterns/mrtr
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 20 Oct 2026 20:07 UTC.
Upstream edited
Recorded here
Lines+23added
Lines−25removed
From line
1
where the diff opens
First seen
26 Aug 2026
this site's first read of the page
Recorded edits3to this page, all time
The whole hunk
from line 1, old and new numbered
/
from line 1
11# Multi Round-Trip Requests
22
3<div id="enable-section-numbers" />
3> [!NOTE]
4>
5> Multi Round-Trip Requests (MRTR) was introduced in this version of the MCP
6> specification. This replaces the previous approach of sending server-initiated
7> requests. Servers **MUST** send server-to-client requests (such as
8> `roots/list`, `sampling/createMessage`, or `elicitation/create`) using the
9> MRTR pattern. The previous pattern of server-initiated requests is no longer
10> supported. This is a breaking change.
411
5<Note>
6 Multi Round-Trip Requests (MRTR) was introduced in this version of the MCP
7 specification. This replaces the previous approach of sending server-initiated
8 requests. Servers **MUST** send server-to-client requests (such as
9 `roots/list`, `sampling/createMessage`, or `elicitation/create`) using the
10 MRTR pattern. The previous pattern of server-initiated requests is no longer
11 supported. This is a breaking change.
12</Note>
12> [!NOTE]
13>
14> For brevity, the request examples on this page omit the `_meta` request
15> metadata (`io.modelcontextprotocol/protocolVersion`,
16> `io.modelcontextprotocol/clientInfo`, and
17> `io.modelcontextprotocol/clientCapabilities`). Every request **MUST** include
18> the required `_meta` fields; see
19> [`_meta`](/specification/draft/basic/index#meta).
1320
14<Note>
15 For brevity, the request examples on this page omit the `_meta` request
16 metadata (`io.modelcontextprotocol/protocolVersion`,
17 `io.modelcontextprotocol/clientInfo`, and
18 `io.modelcontextprotocol/clientCapabilities`). Every request **MUST** include
19 the required `_meta` fields; see
20 [`_meta`](/specification/draft/basic/index#meta).
21</Note>
22
2321## Multi Round-Trip Requests
2422
2523The Model Context Protocol (MCP) defines several ways for servers to request additional information
from line 234
236234 * the authenticated principal, rejecting state presented by a different principal.
237235 * a short expiry (TTL), rejecting state presented after it lapses;
238236 * an identifier for the originating request, e.g. the method name and a digest of its salient parameters, rejecting state presented on a request that does not match.
239 <Warning>
240 Note that these measures bound the replay window and prevent cross-user
241 and cross-request reuse, but do not by themselves guarantee single-use.
242 Servers for which a given `requestState` must be consumed at most once
243 (e.g., one-time redemptions) **MUST** enforce that invariant server-side.
244 </Warning>
237 > [!WARNING]
238 >
239 > Note that these measures bound the replay window and prevent cross-user
240 > and cross-request reuse, but do not by themselves guarantee single-use.
241 > Servers for which a given `requestState` must be consumed at most once
242 > (e.g., one-time redemptions) **MUST** enforce that invariant server-side.
245243
2462446. Servers **MUST** include at least one of `inputRequests` or `requestState` in every `InputRequiredResult` response.
247245
No line in this hunk matches that.