Paul Carleton
26f60ab7f4
Align the 2026-07-28 wire with spec PR #3002 and SEP-2575 HTTP statuses ( #1752 )
...
Co-authored-by: Stephen Halter <halter73@gmail.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: tarekgh <tarek.mahmoud.sayed@gmail.com>
2026-07-27 16:08:03 -07:00
Stephen Halter
9df7640172
Reject mismatched initialize protocol versions ( #1724 )
...
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-07-23 11:45:28 -07:00
Stephen Halter
fd38f51e27
Tighten draft protocol negotiation boundaries ( #1692 )
...
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Tarek Mahmoud Sayed <tarekms@ntdev.microsoft.com>
2026-07-12 14:30:49 -07:00
Tarek Mahmoud Sayed
e23be1d75e
Echo request id in post-parse Streamable HTTP error responses ( #1687 )
...
Co-authored-by: Tarek Mahmoud Sayed <tarekms@ntdev.microsoft.com>
2026-07-02 11:09:05 -07:00
Stephen Halter
d6b1615988
Follow-ups to #1610 : de-draft 2026-07-28 terminology, renumber error codes, ProtocolVersion floor ( #1671 )
2026-06-25 14:07:52 -07:00
Stephen Halter
6c323e783b
Default draft protocol support: sessionless + handshake-less (SEP-2575 + SEP-2567) ( #1610 )
2026-06-23 21:24:22 -07:00
Stephen Halter
ed07fdb6f4
Add diagnostics for messages dropped on the GET SSE stream ( #1609 )
2026-06-08 14:44:10 -07:00
Mike Kistler
b8c4d951ec
Implementation for SEP-2243 Http Standardization ( #1553 )
...
Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com>
Co-authored-by: Tarek Mahmoud Sayed <tarekms@ntdev.microsoft.com>
Co-authored-by: Tarek Mahmoud Sayed <10833894+tarekgh@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-14 15:39:37 -07:00
Stephen Halter
8eb4023c20
Add stateless doc, prefer stateless mode and disable legacy SSE by default ( #1468 )
2026-03-27 13:56:16 -07:00
Copilot
84cd6917bb
Mark RunSessionHandler experimental (MCPEXP002) ( #1383 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: halter73 <54385+halter73@users.noreply.github.com>
Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
2026-02-24 15:02:34 -08:00
Mackinnon Buck
27a3196c7f
Add ISessionMigrationHandler ( #1270 )
2026-02-19 15:31:34 -08:00
Copilot
5da0fe506f
Validate MCP-Protocol-Version header in Streamable HTTP handler ( #1277 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2026-02-18 22:18:00 -05:00
Copilot
2e17550303
Add X-Accel-Buffering header to SSE responses ( #1294 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
2026-02-17 16:03:10 -05:00
Mike Kistler
da91b641cc
Unskip GetRequest_Receives_UnsolicitedNotifications test ( #1286 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-16 08:18:34 -05:00
Copilot
fb2daf2f0d
Fix HttpClient timeout for long-running tools without event stream store ( #1268 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: halter73 <54385+halter73@users.noreply.github.com>
2026-02-14 10:19:53 -05:00
Stephen Toub
27b5eb8031
Bring up to 0.1.13 conformance ( #1254 )
2026-02-10 08:33:52 -08:00
Copilot
8e57ac6b0e
Centralize test timeout constants to fix sporadic CI failures ( #1210 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ericstj <8918108+ericstj@users.noreply.github.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
2026-01-29 22:06:17 -05:00
Mackinnon Buck
b8311756b4
Streamable HTTP resumability + redelivery + SSE polling via server-side disconnect ( #1077 )
...
Co-authored-by: Stephen Halter <halter73@gmail.com>
2026-01-14 22:54:25 -08:00
Copilot
aaffd71c69
Fix session timeout due to timestamp frequency mismatch and activity tracking ( #1106 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
Co-authored-by: eiriktsarpalis <2813363+eiriktsarpalis@users.noreply.github.com>
2025-12-15 16:21:21 -05:00
Mackinnon Buck
121929da36
Audit protocol types ( #892 )
2025-11-04 15:41:10 -08:00
Stephen Toub
bfc0980ef5
Add net10.0 assets and run some fixers ( #875 )
2025-10-15 15:27:43 -04:00
Eirik Tsarpalis
93834d1aec
Fix support for sending server notifications with request-specific McpServer instances used outside their original scope. ( #832 )
...
* Fix support for sending server notifications with request-specific McpServer instances used outside their original scope.
* Address feedback.
* Update src/ModelContextProtocol.Core/Server/SseWriter.cs
2025-10-06 18:50:33 +03:00
Stephen Halter
740a7d0346
Move options validation to constructor ( #826 )
...
This works around the breaking change to BackgroundService in
https://github.com/dotnet/runtime/pull/116283 which launches
ExecuteAsync using Task.Run.
2025-10-02 12:38:13 -07:00
Eirik Tsarpalis
7628b3064f
Onboard repo to the .NET 10 sdk ( #822 )
...
* Onboard repo to the .NET 10 sdk
* Remove redundant property.
* Remove console logger
* Disabling failing tests in .NET 10.
2025-09-30 20:36:12 +03:00
Mackinnon Buck
38b4a26998
Restructure IMcpEndpoint, IMcpClient, and IMcpServer ( #723 )
...
* Remove `McpEndpoint` & `IMcpClient`
* Revise naming, add abstract classes
* Fix missing renames
* Move extension methods to instance methods
* Add back old API, but obsoleted
* Add back obsoleted factory classes
* Move deprecation attributes
* `SseClientTransport` -> `HttpClientTransport`
* Update src/ModelContextProtocol.Core/Server/AugmentedServiceProvider.cs
Co-authored-by: Stephen Halter <halter73@gmail.com>
* PR feedback
* PR feedback
* Add back dispose lock
* Fix docs projects
* PR feedback
* Undo `docs/*.md` changes
---------
Co-authored-by: Stephen Halter <halter73@gmail.com>
2025-09-16 10:22:10 -07:00
Stephen Halter
b067261ca7
Prune idle sessions before starting new ones ( #701 )
2025-08-18 11:04:27 -07:00
Stephen Halter
a88ef0deb7
Flow ExecutionContext with JsonRpcMessage ( #616 )
...
The primary goal of this change is to support IHttpContextAccessor in tool calls when the Streamable HTTP is in its default non-Stateless mode.
2025-07-15 13:58:43 -07:00
Stephen Toub
2bcff315f8
Update content according to latest spec ( #513 )
...
* Update content according to latest spec
* Add Title to a bunch of types
* Add _meta to lots of types
* Address feedback, more cleanup, fix NAOT test failure
2025-06-16 19:39:41 -04:00
Stephen Halter
d23f442a69
Allow more accept headers ( #429 )
2025-05-19 17:31:20 -07:00
Stephen Toub
106ab8064f
Clean up namespaces ( #410 )
...
No meaningful code changes, just lots of namespace shuffling to have fewer namespaces and to put things in better namespaces.
2025-05-14 14:50:26 -04:00
Stephen Halter
ce9f73f43f
Add stateless Streamable HTTP support ( #392 )
...
- It allows a single MCP session spanning multiple requests
to be handled by different servers without sharing state
- It does require the servers share data protection keys, but this
is standard for ASP.NET Core cookies and antiforgery as well
- It immediately throws for unsupported operations like sampling
2025-05-14 04:51:03 -07:00
Stephen Halter
bac97efec6
Remove batching support from StreamableHttpServerTransport ( #372 )
2025-05-01 15:48:53 -07:00
Stephen Halter
e913d80f05
Add client-side Streamable HTTP transport support ( #356 )
2025-04-30 17:21:43 -07:00