Copilot
741eab7f8e
Fix malformed XML doc on McpServerPrimitiveCollection.Contains ( #1348 )
2026-02-22 22:49:14 -08:00
Copilot
79b2dbeb20
Fix Metadata delegation in DelegatingMcpServerTool/Prompt/Resource ( #1338 )
...
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: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
2026-02-21 00:36:30 -05:00
Copilot
34d4cd7552
Add missing exception documentation for public APIs ( #1339 )
...
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-20 23:13:03 -05:00
Copilot
5c35ea9207
Replace concrete collection types with interfaces in public API surface ( #1326 )
...
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-19 19:48:45 -08:00
Copilot
bd758ff901
Remove dead code: options ??= new() in McpServerImpl constructor ( #1322 )
...
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-19 19:41:35 -08:00
Stephen Halter
d21aa9e5a2
Split configuration of request and message filters ( #1308 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-19 17:42:35 -08:00
Mackinnon Buck
27a3196c7f
Add ISessionMigrationHandler ( #1270 )
2026-02-19 15:31:34 -08:00
Copilot
80b1ad21d7
Use ReadOnlyMemory<byte> for binary data to eliminate UTF-16 transcoding ( #1070 )
...
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: ericstj <8918108+ericstj@users.noreply.github.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
2026-02-19 14:08:05 -08:00
Copilot
b967835144
Use TimeProvider in InMemoryMcpTaskStore for deterministic testing ( #1303 )
2026-02-18 21:47:31 -08:00
Copilot
f3da4729f5
Avoid intermediate strings in MCP transport serialization ( #1274 )
...
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>
Co-authored-by: halter73 <54385+halter73@users.noreply.github.com>
2026-02-18 13:01:56 -05:00
Copilot
ec4c732632
Add validation and error signaling guidance to MCP tool XML docs ( #1275 )
...
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 19:45:48 -05:00
Copilot
841e810167
Fix StdioServerTransport.DisposeAsync() hang: CancellableStdinStream missing Dispose override ( #1276 )
...
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:00:12 -08:00
Copilot
186cb93630
Update McpErrorCode XML docs and fix error code usage to align with MCP spec ( #1291 )
...
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 13:12:29 -08:00
Copilot
49fbc513f0
Align InitializeResult.instructions XML docs with latest MCP spec guidance ( #1290 )
...
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>
Co-authored-by: Stephen Halter <halter73@gmail.com>
2026-02-17 15:39:50 -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
Copilot
53e9ed8f65
Log tool call name on success, not just failure ( #1256 )
2026-02-13 09:24:02 -08:00
Stephen Toub
27b5eb8031
Bring up to 0.1.13 conformance ( #1254 )
2026-02-10 08:33:52 -08:00
Copilot
cfa89a3907
Clarify McpMetaAttribute documentation scope ( #1242 )
...
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-03 15:51:32 -08:00
Stephen Halter
7d48d3922c
Add support for message-level filters to McpServer ( #1207 )
2026-01-30 15:19:00 -08:00
Copilot
5084a79068
Add ILoggerFactory to StreamableHttpServerTransport ( #1213 )
...
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-01-30 17:45:39 -05:00
Copilot
e47f88419c
Fix keyset pagination with monotonic UUIDv7-like task IDs ( #1215 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: eiriktsarpalis <2813363+eiriktsarpalis@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2026-01-30 17:09:24 -05:00
Stephen Toub
f9dec13660
Fix race condition in SSE GET request initialization ( #1212 )
2026-01-29 23:04:51 -05:00
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
0585c27d53
Fix form mode elicitation schema check to apply for all form requests ( #1151 )
2026-01-19 21:26:28 -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
Stephen Toub
4a84412331
Add McpClient/Session methods using .Protocol types ( #1063 )
2025-12-05 13:45:12 -05:00
Copilot
d76bc16bd1
Add ResourceNotFound error code (-32002) ( #1062 )
2025-12-05 10:39:30 -08:00
Copilot
4808ca0324
Synthesize return description into tool description when UseStructuredContent is false ( #1049 )
2025-12-05 10:24:49 -08: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
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 Toub
15139cc569
Add tools support to sampling ( #976 )
2025-11-20 09:52:23 -05:00
Copilot
2105f6883b
Fix documentation typos and incorrect type references ( #993 )
...
* Initial plan
* Fix documentation typos and incorrect type references
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
2025-11-19 22:31:28 -05:00
Stephen Toub
5fc50fb528
Implement SEP-986: Specify Format for Tool Names ( #945 )
...
We can add static analysis to provide compile-time diagnostics later, once the analyzers project is merged. For now, this adds run-time validation.
2025-11-06 08:45:02 -05:00
Mackinnon Buck
121929da36
Audit protocol types ( #892 )
2025-11-04 15:41:10 -08:00
Stephen Halter
b575f6e52e
Call Regex.IsMatch when Match is not needed ( #903 )
2025-10-20 12:05:50 -07:00
Stephen Halter
1343dd3ebd
Fix regression matching templated McpServerResources ( #897 )
2025-10-20 11:13:37 -07:00
Copilot
3bff0adc2f
Add McpMetaAttribute for attaching metadata to tools, prompts, and resources ( #857 )
...
* Initial plan
* Add McpMetaAttribute and integrate with tools, prompts, and resources
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Add tests and sample usage for McpMetaAttribute
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Add Meta property to options classes and update logic to merge with attributes
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Fix missing using directives and clarify McpMetaAttribute documentation
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Make Name and Value constructor parameters in McpMetaAttribute and check AIFunction.Metadata.UnderlyingMethod
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Change Value type to object and use JsonSerializer.SerializeToNode, fix nullable warnings
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Fix UnderlyingMethod property path, use SerializerOptions, and fix JsonObject cref
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Simplify MethodInfo resolution to use function.UnderlyingMethod directly
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Fix IL2026 trimming warning by providing type info to JsonSerializer.SerializeToNode
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Fix remaining issues
* Revert to string-based JSON values for McpMetaAttribute with StringSyntax annotation
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Add StringSyntax attribute to Value property and fix sample code to use escaped quotes
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
* Fix tests and a bit of cleanup
* Change approach and add lots of tests
* Use JsonContext for serialization and fix floating point test comparison
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>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2025-10-17 09:02:54 -04:00
Copilot
8f2e21d734
Fix: Synthesize handlers for empty tool/prompt/resource collections ( #865 )
...
* Initial plan
* Allow handlers for empty tool/prompt/resource collections
Changed condition from `IsEmpty: false` to `not null` check in McpServerImpl.cs for resources (line 298), prompts (line 459), and tools (line 547). This allows handlers to be synthesized even when collections are empty, enabling dynamic addition of items after initialization.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2025-10-16 09:57:50 -04:00
Stephen Toub
bfc0980ef5
Add net10.0 assets and run some fixers ( #875 )
2025-10-15 15:27:43 -04:00
Stephen Toub
e7b403b820
Fix comments on McpServerTool/Prompt/Resource ( #866 )
...
They were a bit out of date with the implementation.
Co-authored-by: Stephen Halter <halter73@gmail.com>
2025-10-14 23:44:09 -04:00
Stephen Halter
3255adb4d6
Propagate tool call exceptions through filters ( #844 )
...
* Add McpProtocolException specifically for JSON-RPC errors
2025-10-14 19:10:55 -07: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
Copilot
f28639119b
Implement SEP-973: Icons and metadata support for Implementations, Resources, Tools, and Prompts ( #802 )
...
* Initial plan
* Initial plan for SEP-973 implementation
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
* Implement SEP-973: Add Icon class and icon support to Implementation, Resource, Tool, and Prompt
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
* Complete SEP-973 implementation with documentation and fix property consistency
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
* Address code review feedback: improve tests, remove docs, split test files
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
* Fix tests to use S.T.J. source generator
* Styling fixes
* Simplify Icons property documentation as suggested in code review
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
* Rename Icon.Src property to Icon.Source for more .NET-y naming
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
* Add icon support to McpServerTool infrastructure and attributes
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
* Cleanup
* Refactor icon tests to use Delegate overload instead of MethodInfo pattern
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
* Change Icon.Sizes property from string to IList<string> per spec update
Co-authored-by: jozkee <16040868+jozkee@users.noreply.github.com>
* Add icon support to Prompts and Resources (CreateOptions and Attributes)
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
* Add client-server integration tests for Icons and WebsiteUrl
Co-authored-by: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
* Fix nullability warnings
* Revert "Add client-server integration tests for Icons and WebsiteUrl"
This reverts commit f37de15569e54e86a0709121c9bdf80c5045511c.
* More nullability fixes
* Add more tests
* Address code review feedback: add Theme property, fix docs, improve test patterns
Co-authored-by: jozkee <16040868+jozkee@users.noreply.github.com>
* Update Icon tests to exercise Theme property
Co-authored-by: jozkee <16040868+jozkee@users.noreply.github.com>
* Add Theme property assertions to client-server integration tests
Co-authored-by: jozkee <16040868+jozkee@users.noreply.github.com>
* Fix nullability
---------
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: Mackinnon Buck <mackinnon.buck@gmail.com>
Co-authored-by: jozkee <16040868+jozkee@users.noreply.github.com>
Co-authored-by: David Cantú <dacantu@microsoft.com>
2025-10-08 12:23:01 -07: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