Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
b4f29a6
add SEP doc from transport-wg
CaitieM20 Feb 20, 2026
a1b65dc
copilot initial pass, still WIP and under my review
CaitieM20 Feb 21, 2026
12d910c
Merge branch 'modelcontextprotocol:main' into SEP-MRTR
CaitieM20 Feb 23, 2026
21b4481
hand edits
CaitieM20 Feb 23, 2026
df843c7
add Incomplete Result to server result, add sections to schema.mdx, r…
CaitieM20 Feb 23, 2026
2bec19b
1. Moved inputResponses/requestState from CallToolRequestParams → Req…
CaitieM20 Feb 23, 2026
7519d64
renamed ElicitationInputRequest → ElicitationCreateRequest and Sampli…
CaitieM20 Feb 23, 2026
8b66f20
removing standalone ServerRequests for CreateMessageRequests and Eli…
CaitieM20 Feb 23, 2026
ca03c4e
update examples
CaitieM20 Feb 23, 2026
944a6a5
moving JSONRPCIncompleteResultResponse location in schema.ts
CaitieM20 Feb 23, 2026
ac8b3e6
update GetTaskPayloadResultResponse to be a JSONRPCResultResponse or …
CaitieM20 Feb 23, 2026
4f859d1
update SEP.md to reflect schema changes. Decision: Remove results wra…
CaitieM20 Feb 23, 2026
053d9cb
remove URLElicitationRequiredError
CaitieM20 Feb 23, 2026
9fd8dde
updating SEP examples to adhere strictly to schema
CaitieM20 Feb 23, 2026
c741ca4
WIP on updating Spec to be more readable, added new spec V2 to test o…
CaitieM20 Feb 24, 2026
2d37d9d
schema changes for ephemeral workflow
markdroth Feb 26, 2026
08cffb1
schema changes for persistent workflow
markdroth Feb 26, 2026
3e6c4f8
remove URLElicitationRequiredError
markdroth Feb 27, 2026
7980bf5
Merge branch 'main' into SEP-MRTR
CaitieM20 Feb 28, 2026
4e68c96
Merge branch 'main' into SEP-MRTR
CaitieM20 Feb 28, 2026
0a77824
fix examples form parameter accidentally removed
CaitieM20 Feb 28, 2026
65772ed
removing experimental edits
CaitieM20 Feb 28, 2026
5cc289d
merging in XXXX-MRTR.md changes in from transport-wg repo
CaitieM20 Feb 28, 2026
9010137
fix date typo
CaitieM20 Feb 28, 2026
ef5dabc
Merge branch 'SEP-MRTR' into mrtr-sep
CaitieM20 Feb 28, 2026
fbb388e
Merge pull request #2 from markdroth/mrtr-sep
CaitieM20 Feb 28, 2026
f01df3c
fixing some schema merge errors and deleting no longer used example
CaitieM20 Feb 28, 2026
aaa44a3
remove JSONRPCIncompleteResultType
CaitieM20 Feb 28, 2026
3fc57a1
add back examples fix GetTaskPayloadResultResponse
CaitieM20 Feb 28, 2026
bdc62ac
removing duplicate types
CaitieM20 Feb 28, 2026
b54eafb
fixing TaskInputResponseRequest having duplicate InputResponse fields…
CaitieM20 Feb 28, 2026
3443ffa
Removing inheritance from TaskAugmentedRequestParams these objects ar…
CaitieM20 Feb 28, 2026
613ca50
Merge pull request #1 from CaitieM20/SEP-MRTR
CaitieM20 Feb 28, 2026
624ff8e
update SEP number and fix example bug
CaitieM20 Feb 28, 2026
35e2400
Merge pull request #3 from CaitieM20/caitie/AddSEPNumber
CaitieM20 Feb 28, 2026
68dced1
remove old file
markdroth Mar 3, 2026
6cb8a07
add sequence diagrams
markdroth Mar 3, 2026
c4ca48d
Merge pull request #4 from markdroth/mrtr-sep
markdroth Mar 3, 2026
88a2617
Add field to identify incomplete responses. URL-based elicitations a…
markdroth Mar 4, 2026
263bed1
Merge pull request #5 from markdroth/mrtr-sep
markdroth Mar 4, 2026
a6eaf22
add ResultType to indicate how the client should parse the returned o…
CaitieM20 Mar 10, 2026
30cb21b
make result_type optional
CaitieM20 Mar 10, 2026
7005426
make ResultType default to complete
CaitieM20 Mar 10, 2026
363c8be
Merge branch 'main' into merge
CaitieM20 Mar 10, 2026
d8e5775
Merge pull request #7 from CaitieM20/merge
CaitieM20 Mar 10, 2026
2ecd8ae
generating sep docs
CaitieM20 Mar 10, 2026
0aaa6ee
fixing prettier formatting issues
CaitieM20 Mar 10, 2026
05d10ff
running prettier
CaitieM20 Mar 10, 2026
8a578d6
regenerating schema.json
CaitieM20 Mar 10, 2026
39a1bac
Merge pull request #9 from CaitieM20/caitie/GenAndFormatting
CaitieM20 Mar 10, 2026
866502d
Merge branch 'merge' into caitie/incompleteresultschema
CaitieM20 Mar 10, 2026
002d444
Merge branch 'main' into merge
CaitieM20 Mar 10, 2026
3dc5f01
Merge branch 'modelcontextprotocol:main' into merge
CaitieM20 Mar 13, 2026
0f70c68
remove trailing brace, run prettier
CaitieM20 Mar 13, 2026
6964f17
Merge pull request #6 from CaitieM20/caitie/incompleteresultschema
CaitieM20 Mar 13, 2026
862cbde
Merge branch 'main' into merge
CaitieM20 Mar 18, 2026
f23e101
update SEP to reflect requests which support IncompleteResponse
CaitieM20 Mar 18, 2026
880d311
update schema, seps and docs
CaitieM20 Mar 18, 2026
d365ce1
update schmea to only support sneing InputResponses on specific Clien…
CaitieM20 Apr 7, 2026
11ef671
updated docs
CaitieM20 Apr 7, 2026
18a0590
update programming model section
CaitieM20 Apr 7, 2026
b446d13
Merge pull request #10 from CaitieM20/mrtr-subset-of-requests
CaitieM20 Apr 7, 2026
23b9789
Merge branch 'main' into merge
CaitieM20 Apr 9, 2026
5f8e324
merge upstream and rerun docs gen after merge conflict
CaitieM20 Apr 9, 2026
b53ed4e
address a few comments
markdroth Apr 9, 2026
3fc0dbf
Update docs/seps/2322-MRTR.mdx
CaitieM20 Apr 9, 2026
19e72b1
update doc type and make result_type camelcase resultType
CaitieM20 Apr 9, 2026
d1b4f50
Merge pull request #12 from CaitieM20/mrtr-feedback-updates
CaitieM20 Apr 14, 2026
5f12983
Merge pull request #11 from markdroth/mrtr-sep
CaitieM20 Apr 14, 2026
b00b411
Merge branch 'main' into merge
CaitieM20 Apr 14, 2026
7e5c139
SEP Cleanup fixing typos
CaitieM20 Apr 14, 2026
4f206f7
rename RetryAugmentedRequestParams to InpuResponseRequestParams
CaitieM20 Apr 14, 2026
48b43d6
cleaning up examples and re-added URLElicitationRequiredError
CaitieM20 Apr 14, 2026
d626196
Merge pull request #13 from CaitieM20/mrtr-cleanup
CaitieM20 Apr 14, 2026
d10d600
fixing up schema doc links
CaitieM20 Apr 14, 2026
e223890
ran prettier
CaitieM20 Apr 15, 2026
f5ad66c
regenerate draft schema
CaitieM20 Apr 15, 2026
3feafb2
fix style issue moving details summary to new line
CaitieM20 Apr 15, 2026
2bc90cb
regenerate sep docs
CaitieM20 Apr 15, 2026
1499be3
merge main
CaitieM20 Apr 23, 2026
f8c4409
marking SEP as Approved after Core Maintainer vote on 4-21-2026
CaitieM20 Apr 23, 2026
669e1b9
Merge pull request #14 from CaitieM20/mrtr-accepted
CaitieM20 Apr 23, 2026
7eb29a2
update elicitation, a few todos left
CaitieM20 Apr 23, 2026
a91c94b
adding ResultType, making it not optional
CaitieM20 Apr 23, 2026
116700d
update sampling
CaitieM20 Apr 23, 2026
1195ee4
update roots docs
CaitieM20 Apr 23, 2026
4443e7d
initial IncompleteResult page. Still work in progress.
CaitieM20 Apr 23, 2026
b6ced87
initial requirements
CaitieM20 Apr 24, 2026
ee6f78d
update with spec language
CaitieM20 Apr 24, 2026
6f75b86
fix links and cleanup
CaitieM20 Apr 24, 2026
4c31fcd
update URL Mode elicitation flows, remove URLElicitationRequired error.
CaitieM20 Apr 24, 2026
6a11696
Apply suggestion from @pja-ant
CaitieM20 Apr 24, 2026
917195d
Apply suggestion from @markdroth
CaitieM20 Apr 24, 2026
5b5b1ad
address PR Feedback
CaitieM20 Apr 24, 2026
2ff799d
Merge branch 'mrtr-docUpdates' of https://github.com/caitiem20/modelc…
CaitieM20 Apr 24, 2026
9d96a97
address PR feedback
CaitieM20 Apr 24, 2026
b2d9035
update tasks augmented tool call flow
CaitieM20 Apr 28, 2026
8c50558
Update diagrams
CaitieM20 Apr 28, 2026
622dadb
update elicitation diagrams and roots page
CaitieM20 Apr 28, 2026
0be3a94
udate requirements around requestState handling
CaitieM20 Apr 28, 2026
2ed36a6
removing URLElicitationRequred Error, URL Elicitation is still suppor…
CaitieM20 Apr 28, 2026
a6db810
Merge pull request #15 from CaitieM20/mrtr-docUpdates
CaitieM20 Apr 28, 2026
60a5f0c
Merge branch 'main' into merge
CaitieM20 Apr 28, 2026
0dfffdd
run prettier & regenerate seps
CaitieM20 Apr 28, 2026
8257d23
update seps
CaitieM20 May 4, 2026
eec7724
generate schema
CaitieM20 May 4, 2026
a2399d3
Merge pull request #17 from CaitieM20/mrtr-cleanup
CaitieM20 May 5, 2026
b598c55
fix error in draft/schema.mdx
CaitieM20 May 5, 2026
a473514
update schema.mdx
May 5, 2026
44a4679
Merge pull request #18 from CaitieM20/mrtr-fixSchema
CaitieM20 May 5, 2026
de6d76f
rename IncompleteResult to InputRequiredResult (#19)
CaitieM20 May 5, 2026
fad84c6
Merge branch 'main' into merge
CaitieM20 May 6, 2026
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,8 @@
"specification/draft/basic/utilities/cancellation",
"specification/draft/basic/utilities/ping",
"specification/draft/basic/utilities/progress",
"specification/draft/basic/utilities/tasks"
"specification/draft/basic/utilities/tasks",
"specification/draft/basic/utilities/mrtr"
]
}
]
Expand Down Expand Up @@ -428,6 +429,12 @@
"seps/2207-oidc-refresh-token-guidance",
"seps/2260-Require-Server-requests-to-be-associated-with-Client-requests"
]
},
{
"group": "Approved",
"pages": [
"seps/2322-MRTR"
]
}
]
},
Expand Down
1,387 changes: 1,387 additions & 0 deletions docs/seps/2322-MRTR.mdx
Comment thread
CaitieM20 marked this conversation as resolved.

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions docs/seps/index.mdx

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 13 additions & 1 deletion docs/specification/draft/basic/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,25 @@ Responses are sent in reply to requests, containing either the result or error o
id: string | number;
result: {
[key: string]: unknown;
}
};
resultType: string;
}
```

- Result responses **MUST** include the same ID as the request they correspond to.
- Result responses **MUST** include a `result` field.
- The `result` **MAY** follow any JSON object structure.
- The `resultType` field **MUST** be included to indicate the type of the result. If no `resultType` is specified, "complete" should be assumed.

##### ResultType

The `resultType` field in a result response indicates the type of the result being returned. MCP supports poly-morphic result types,
allowing servers to return different structures based on the outcome of the request. The `resultType` field is a string that clients
can use to determine how to parse and handle the `result` object.

- A `resultType` of `"complete"` the request completed successfully and the result contains the final content.
- A `resultType` of `"input_required"` the request is incomplete and more information is needed to process the request. The result contains an `InputRequiredResult` object with additional information needed.
- If `resultType` is not specified, clients **MUST** assume a default value of `"complete"` for backwards compatibility.

#### Error Responses

Expand Down
6 changes: 3 additions & 3 deletions docs/specification/draft/basic/transports.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ guide below.

In the **Streamable HTTP** transport, the server operates as an independent process that
can handle multiple client connections. This transport uses HTTP POST and GET requests.
Server can optionally make use of
The server can optionally make use of
[Server-Sent Events](https://en.wikipedia.org/wiki/Server-sent_events) (SSE) to stream
multiple server messages. This permits basic MCP servers, as well as more feature-rich
servers supporting streaming and server-to-client notifications and requests.
Expand Down Expand Up @@ -556,7 +556,7 @@ When constructing a `tools/call` request via HTTP transport, the client **MUST**

Intermediate servers that do not recognize an `Mcp-Param-{Name}` header **MUST** forward it and otherwise ignore it, as required by the [HTTP Semantics RFC](https://www.rfc-editor.org/rfc/rfc9110.html#name-field-names).

Servers **MUST** reject requests with a recognized `Mcp-Param-{Name}` headers that contain invalid
Servers **MUST** reject requests with a recognized `Mcp-Param-{Name}` header that contains invalid
characters (see [Value Encoding](#value-encoding)).

Any server that processes the message body **MUST** validate that encoded header values,
Expand Down Expand Up @@ -603,7 +603,7 @@ protocol version 2024-11-05) as follows:
- If it succeeds, the client can assume this is a server supporting the new Streamable
HTTP transport.
- If it fails with the following HTTP status codes "400 Bad Request", "404 Not
Found" or "405 Method Not Allowed":
Found", or "405 Method Not Allowed":
- Issue a GET request to the server URL, expecting that this will open an SSE stream
and return an `endpoint` event as the first event.
- When the `endpoint` event arrives, the client can assume this is a server running
Expand Down
Loading
Loading