Copilot
ee8c485d41
Add Trace-level logging for JSON-RPC payloads in transports ( #1191 )
2026-01-29 11:26:33 -08:00
Eirik Tsarpalis
10e4f5b20f
Implement MCP task support (SEP-1686) ( #1170 )
...
Co-authored-by: Stephen Halter <halter73@gmail.com>
2026-01-27 19:21:02 -08:00
Copilot
46d30444a8
Fix ToJsonObject serialization failure with anonymous types and add support for custom JsonSerializerOptions ( #1113 )
...
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>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2026-01-20 11:21:11 +02:00
Copilot
774411b22c
Add 2025-11-25 as supported version ( #1130 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
2026-01-15 09:59:42 -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
d52a7b183d
Align telemetry with OpenTelemetry MCP semantic conventions ( #1139 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
2026-01-13 18:07:49 -08:00
Copilot
1b846cb76c
Add missing exception documentation to public API surface ( #1103 )
...
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>
2025-12-15 12:51:09 -05:00
Copilot
5b74ee21e4
Document HttpRequestException thrown by McpClient.CreateAsync ( #1095 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
2025-12-15 07:16:18 -06:00
Stephen Halter
31f8d20a1a
Support incremental scope consent (SEP-835) ( #1084 )
2025-12-11 19:51:47 -08:00
Copilot
20d726bfdf
Remove s_additionalProperties from McpClientTool ( #1080 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
2025-12-10 15:53:41 +02:00
Copilot
862492d32f
Add SubscribeToResourceAsync overload with handler delegate ( #1069 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
2025-12-05 18:15:24 -05:00
Stephen Halter
970207989e
Fall back to well-known URL in client if 401 response is missing resource_metadata parameter ( #1054 )
2025-12-05 14:12:51 -08:00
Peder Holdgaard Pedersen
d99f882884
Add McpClientTool.WithMeta ( #1027 )
...
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2025-12-05 15:41:44 -05:00
Stephen Toub
4a84412331
Add McpClient/Session methods using .Protocol types ( #1063 )
2025-12-05 13:45:12 -05:00
Stephen Halter
ae17ba0b4b
Add support for URL mode elicitation ( #1021 )
2025-12-05 00:03:16 -08:00
Mike Kistler
c447973972
Add request options bag to high level requests and include Meta ( #970 )
...
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-04 17:32:12 -05:00
Copilot
627de76ca6
Remove McpClient.Enumerate*Async methods ( #1060 )
2025-12-04 11:05:40 -08:00
Copilot
136755f2be
Remove obsolete APIs from codebase and standardize MCP diagnostic IDs ( #985 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
Co-authored-by: eiriktsarpalis <2813363+eiriktsarpalis@users.noreply.github.com>
Co-authored-by: Mackinnon Buck <mackinnon.buck@gmail.com>
Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
2025-12-02 10:28:46 -08:00
Genevieve Warren
6ed728d005
MCP Core docs edit pass ( #1033 )
...
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2025-11-26 08:36:19 -05:00
Stephen Halter
7f25ae9d2a
Add ability for client to resume session ( #1029 )
2025-11-25 14:31:10 -08:00
Copilot
e6db415940
Fix race condition in StdioClientTransport on .NET Framework ( #996 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
2025-11-24 17:42:16 +02:00
Stephen Toub
15139cc569
Add tools support to sampling ( #976 )
2025-11-20 09:52:23 -05:00
Stephen Toub
98a0261585
Tweak how McpClientTool.InvokeAsync exposes some content ( #941 )
...
Rather than always serializing to a JsonElement, which IChatClients that consume the tool won't be able to reason about, convert the content into AIContents that they can reason about.
2025-11-06 21:47:19 -05:00
Copilot
b90f17bccb
Add public constructors to McpClient types for reusing cached definitions ( #938 )
...
* Initial plan
* Add public constructor to McpClientTool for reusing tool definitions
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Fix McpClientTool constructor per review feedback
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Add public constructors for McpClientPrompt, McpClientResource, and McpClientResourceTemplate
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
2025-11-06 13:59:17 -05:00
Stephen Toub
bfc0980ef5
Add net10.0 assets and run some fixers ( #875 )
2025-10-15 15:27:43 -04:00
Stephen Halter
e01edc143a
Fix slow shutdown when a Streamable HTTP client is connected ( #843 )
...
* Add "Async" suffix to async methods
2025-10-10 17:50:57 -07:00
Eirik Tsarpalis
d8768de302
Fix stdio client transport CLI argument escaping. ( #811 )
...
* Fix stdio client transport CLI argument escaping.
* Fix failing Windows test.
* Add more test cases and refine escaping logic.
* Fix test failures in mono
* Style fixes
* Tweak stdio test
* Tweak tests further
2025-09-25 14:46:39 +03:00
David Cantú
5f992994c3
Decouple Handlers and Collections from protocol types ( #765 )
...
* Decouple Handlers and Collections (e.g. ToolsHandler and ToolsCollection) from Capabilities by promoting them to the options types.
Also, group all handlers in container classes, for server, I decided to move McpServerHandlers down to Mcp.Core and move the NotificationHandlers there too.
Also, Fix ListResourceTemplatesHandler issue.
* Add remarks for empty protocol capability types
* Keep JsonIgnore properties and mark them as Obsolete
* Continue supporting Obsolete members
* Update Obsolete messages to indicate the member will be removed
* Add EditorBrowsable Never to the remaining obsolete members
2025-09-24 09:42:03 -05:00
Eirik Tsarpalis
7cfe0ef621
Add McpSessions.NegotiatedProtocolVersion property. ( #794 )
2025-09-19 13:11:01 +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
Eirik Tsarpalis
aa75f6f37e
Enable netfx testing. ( #588 )
...
* Enable netfx testing.
* Skip impacted tests and re-enable netfx testing.
* Remove redundant comment.
* Remove unnecessary project configuration.
* Simplify test server copying.
2025-07-08 18:50:37 +03:00
Den Delimarsky 🌺
cdf88e7f5d
Authorization Support (Using ASP.NET Core Native AuthN/AuthZ Integration) ( #377 )
2025-07-03 14:39:28 -07:00
Luca
cd8e5d5f7f
Fixed StreamableHttpClientSessionTransport.cs for netstandard ( #582 )
...
Fixed exception 'The format of value 'application/json; charset=utf-8' is invalid
2025-07-02 13:13:13 -07:00
S-Luiten
b9837a9e42
Implement ReturnJsonSchema in McpClientTool. ( #538 )
...
Co-authored-by: Steven Luiten <s.luiten@inpactplatform.nl>
2025-06-24 08:47:34 -04:00
Stephen Toub
0e6184a4aa
Add 2025-06-18 as supported version ( #529 )
2025-06-20 12:03:28 -04:00
Stephen Halter
a4b4edaa2a
Send DELETE request when closing a Streamable HTTP session on the client ( #501 )
2025-06-19 08:40:11 -07:00
Stephen Halter
befa31d5c9
Send MCP-Protocol-Version header in Streamable HTTP client transport ( #500 )
2025-06-17 14:27:26 -07:00
Stephen Toub
b9b4a23005
Add a callback for receiving stderr output ( #525 )
...
* Add a callback for receiving stderr output
* Add asserts to test
2025-06-17 16:03:20 -04: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
Eirik Tsarpalis
d7d9eab3f8
Pass session id's to MCP endpoints. ( #466 )
...
* Pass session id's to MCP endpoints.
* Update src/ModelContextProtocol/Client/McpClient.cs
Co-authored-by: Stephen Halter <halter73@gmail.com>
* Update src/ModelContextProtocol.AspNetCore/StreamableHttpHandler.cs
Co-authored-by: Stephen Halter <halter73@gmail.com>
* Make init callback asynchronous.
* Address feedback.
---------
Co-authored-by: Stephen Halter <halter73@gmail.com>
2025-06-12 17:56:57 +03:00
Stephen Halter
046903c27b
Don't conflate request and response IDs in Streamable HTTP transports ( #475 )
2025-06-03 12:17:11 -07:00
Stephen Toub
e0b058f260
Improve protocol version handling ( #468 )
...
Right now by default, the client and server hardcode the initial spec version, and if there's a mismatch, the request fails.
With this change, by default both client and server are allowed to float to any supported version.
2025-06-02 23:03:57 -04:00
Stephen Halter
703b0fe50b
Add ModelContextProtocol.Core package ( #428 )
2025-06-02 15:16:45 -07:00