Commit graph

280 commits

Author SHA1 Message Date
Stephen Halter
a6fd6fc9dd
Bump version to 0.3.0-preview.2 v0.3.0-preview.2 2025-07-03 14:49:04 -07: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
Stephen Toub
4411f1ce5e
Change default name casing of McpServerXx.Create tools/prompts/resources (#568) 2025-07-01 16:40:42 -04:00
Stephen Toub
4e290f8de9
Add CallToolResult.ToChatMessage extension method (#575)
To simplify non-AIFunction usage getting a ChatMessage with the appropriate FunctionResultContent.
2025-07-01 07:09:49 -04:00
Eirik Tsarpalis
92fd8b246f
Fix relative path resolution in sample app. (#572)
* Fix relative path resolution in sample app.

* Update samples/QuickstartClient/Program.cs

* Fix build
2025-07-01 13:58:31 +03:00
Stephen Toub
ab51400ba0
Make CallToolResult.IsError optional (#573)
Match the spec, and avoid sending the property in the success case.
2025-06-30 11:35:07 -04:00
rokenbuzz
fc293429f9
Removed space (#563)
PackageVersion for OpenTelemetry.Instrumentation.Http had trailing space causing error noticed in Visual Studio build

Co-authored-by: Buzz Weetman <rweetman@2touchpos.com>
2025-06-30 10:58:52 -04:00
Stephen Toub
f3539cc2ca
Enable injecting IMcpServer and friends into ctors (#570) 2025-06-30 10:58:08 -04:00
Stephen Toub
9d835a0625
Delete unused method and linker suppression (#567) 2025-06-28 07:20:34 -04:00
Eirik Tsarpalis
55bda787ae
Styling: remove a few redundant parens from object initializer expressions. (#548)
* Styling: remove a few redundant parens from object initializer expressions.

* Fix build error.
2025-06-26 16:55:54 +03:00
Anduin Xue
802424ee08
Update README.md to fix the server sample build issue. (#546)
* Update README.md to fix the server sample build issue.

Update README.md to fix the server sample build issue.

* Update README.md

---------

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
2025-06-26 13:51:55 +03:00
Stephen Toub
068f0418fe
Fix deserialization of PrimitiveSchemaDefinition (#537)
This is preventing clients from correctly handling elicitation requests.
2025-06-24 08:48:12 -04:00
S-Luiten
db374957fc
Document default value for UseStructuredContent. (#539)
Co-authored-by: Steven Luiten <s.luiten@inpactplatform.nl>
2025-06-24 08:48:00 -04: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
Eirik Tsarpalis
0b26b7bf22
Fix URI template derivation and lookup (#530)
* Use lowercase host in resource URI template derivation.

* Address feedback

* Add casing testing for non-templated resource lookups.

* Fix uri primitive lookup

* Use a hardcoded mcp hostname in derived resource template URIs and ensure built-in resources work with the VS Code client.

* Address feedback

* Fix equality comparison

* Use dedicated type for resource collections.
2025-06-23 19:49:38 +03:00
Eirik Tsarpalis
283a052e3f
Bump version number to 0.3.0 (#534) v0.3.0-preview.1 2025-06-20 09:17:02 -07:00
Stephen Toub
0e6184a4aa
Add 2025-06-18 as supported version (#529) 2025-06-20 12:03:28 -04:00
Stephen Toub
521bb7bde2
Fix QuickstartClient path (#528)
* Fix QuickstartClient path

* Make dotnet run work instead of F5
2025-06-19 15:35:13 -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
4e2c1b949f
Fix visibility of polyfill (#523) 2025-06-17 12:43:44 -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
Sven Boemer
28d65470f4
Update Microsoft.Extensions.AI version & expose JSON configuration on McpServerResourceCreateOptions (#511)
* Update Microsoft.Extensions.AI version

* Update Microsoft.Extensions.AI.OpenAI

* Fix failing tests; add JSON configuration options to McpServerResourceCreateOptions.

* Replace temporary code with `AIFunction.ReturnJsonSchema`

---------

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
2025-06-13 13:50:14 +01:00
Eirik Tsarpalis
1e8fb04037
Make enums serialize as strings if using the reflection-based serializer. (#473)
* Make enums serialize as strings if using the reflection-based serializer.

* Remove unnecessary partial

* Use an explicit reflection-based converter for enums.

* Update comments

* Make the reflection-based enum converter public.
2025-06-12 18:25:54 +03: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
Eirik Tsarpalis
fa017c04c3
Add structured output/output schema support for server-side tools. (#480)
* Add structured output/output schema support for server-side tools.

* Address feedback.

* Add McpServerToolAttribute.UseStructuredContent

---------

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2025-06-06 00:20:12 -07:00
Stephen Toub
46d25b7558
Add context to complete requests (#488) 2025-06-05 20:30:00 -07:00
Stephen Halter
c560f47ee6
Remove incorrect acknowledgement from Core README.md (#482) 2025-06-03 15:17:28 -07:00
Stephen Halter
ef7ac8481c
Bump version to 0.2.0-preview.4 2025-06-03 13:43:06 -07:00
Stephen Halter
046903c27b
Don't conflate request and response IDs in Streamable HTTP transports (#475) v0.2.0-preview.3 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
Stephen Toub
57458241b9
Update dependency versions (#474) 2025-05-31 06:07:40 -04:00
Eirik Tsarpalis
888f1711f6
Convert solution to slnx (#472)
* Convert solution to slnx

* Bump sdk version in global.json
2025-05-30 18:19:55 +03:00
Eirik Tsarpalis
47e6a6412e
Convert records to classes (#470)
* Convert records to classes

* Make properties in SseClientTransportOptions settable.

* Convert missing property from init to set
2025-05-30 17:34:36 +03:00
Stephen Toub
5cc7c00456
Add elicitation capability (#467)
* Add elicitation capability
2025-05-29 22:03:03 -04:00
Jeff Handley
36a70a03f8
Bump version to 0.2.0-preview.3 (#465)
https://www.nuget.org/packages/ModelContextProtocol/0.2.0-preview.2 has been published
2025-05-29 21:17:39 +03:00
Eirik Tsarpalis
6351b3dd43
Update documentation of McpJsonUtilities.DefaultOptions. (#463) v0.2.0-preview.2 2025-05-29 07:22:26 -04:00
Stephen Toub
72e7623b11
Set CreateNoWindow=true in RunProcessAndWaitForExit (#462) 2025-05-29 06:53:37 -04:00
Stephen Halter
317f468807
Automatically fall back from Streamable HTTP to SSE on the client by default (#456) 2025-05-28 11:06:58 -07:00
кɵɵѕнī
adb2098e4d
Log tool invocation errors (#447)
* Log tool errors
* add test and implement source generated logging
2025-05-23 14:48:47 -07:00
Eirik Tsarpalis
77f9e64e04
SSE client transport: tolerate return of RPC responses in POST requests. (#445)
* SSE client transport: handle return of RPC responses in POST requests.

* Remove accidental change.

* Address feedback

* Remove unused namespace.
2025-05-23 21:39:54 +03:00
Gavin Luo
ee9b04b7e5
Update README.md (#437)
fix example error
2025-05-20 05:10:29 -07:00
Stephen Halter
d23f442a69
Allow more accept headers (#429) 2025-05-19 17:31:20 -07:00
Andy Gocke
849809771d
Serilog AOT has been fixed as of 4.3.0 (#434)
See https://github.com/serilog/serilog/releases/tag/v4.3.0
2025-05-19 11:57:55 +03:00
Jeff Handley
63df4517fa
Bump version to 0.2.0-preview.2 (#424) 2025-05-16 19:24:22 +03:00
Stephen Toub
9c3ac60819
Remove internal GetBase64Data helper (#422) 0.2.0-preview.1
This can now just use DataContent.Base64Data.
2025-05-16 09:10:50 -04:00
Stephen Toub
915f281658
Fix NRT annotation on StdioClientTransportOptions.EnvironmentVariables (#419) 2025-05-16 00:32:29 -04:00