Commit graph csharp-sdk/tests
Author SHA1 Message Date
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
dada237416
Add comprehensive edge case tests for JSON-RPC payload shapes (#1143)
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-14 14:26:18 +02: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
2bc105b612
Optimize JsonRpcMessage deserialization with single-pass parsing (#1138)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: scooletz <scooletz@gmail.com>
Co-authored-by: eiriktsarpalis <2813363+eiriktsarpalis@users.noreply.github.com>
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
2026-01-13 11:55:49 -05:00
Copilot
4a2c36cf0c
Use fully-qualified type names in generated partial method signatures (#1135)
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-12 11:13:20 -05:00
Mike Kistler
14f9735c19
Add client conformance tests (#1102)
Co-authored-by: Stephen Halter <halter73@gmail.com>
2026-01-09 07:26:50 -06:00
Copilot
bafbb0a8ba
Fix CreateSamplingHandler to use ChatRole.Tool for tool result messages (#1128)
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: MackinnonBuck <10456961+MackinnonBuck@users.noreply.github.com>
Co-authored-by: Mackinnon Buck <mackinnon.buck@gmail.com>
2026-01-06 16:58:41 -05:00
Copilot
8316aa0895
Add CS1066 suppressor for MCP server methods with optional parameters (#1110) 2025-12-19 11:01:12 -08:00
Copilot
8b73a42c9d
Remove private reflection from tests (#1107)
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: halter73 <54385+halter73@users.noreply.github.com>
2025-12-16 21:20:42 +02: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
dependabot[bot]
d0ee6a0bef
Bump the other-testing group with 1 update (#1101)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
2025-12-15 19:46:21 +02:00
Peder Holdgaard Pedersen
9bbae84c9b
Resource subscribe should be true if handler provided (#676)
Co-authored-by: Stephen Halter <halter73@gmail.com>
Co-authored-by: Mike Kistler <mikekistler@microsoft.com>
2025-12-11 20:41:43 -08:00
Stephen Halter
31f8d20a1a
Support incremental scope consent (SEP-835) (#1084) 2025-12-11 19:51:47 -08:00
Stephen Toub
828d51e9d4
Improve caching in XmlToDescriptionGenerator (#1010) 2025-12-11 20:03:53 +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
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
627de76ca6
Remove McpClient.Enumerate*Async methods (#1060) 2025-12-04 11:05:40 -08:00
Jon Galloway
ce5bb3cf7f
Fix XML generator partial method issues (#1059) 2025-12-03 22:45:13 -05:00
Copilot
db0f4d13b4
Add support for data to McpProtocolException (#1028) 2025-12-03 15:37:54 -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
Copilot
b230b17ec9
Adjust analyzer diagnostic severities and improve MCP001 reporting (#1038)
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-26 21:51:37 -05:00
Mike Kistler
f45996d4b5
Add Conformance tests for the server (#983) 2025-11-25 17:20:18 -08:00
Mackinnon Buck
5a65af8ed7
Add support for Client ID Metadata Documents to enable URL-based client registration (#1023) 2025-11-25 16:17:47 -08:00
Stephen Halter
7f25ae9d2a
Add ability for client to resume session (#1029) 2025-11-25 14:31:10 -08:00
Manuel Naujoks
820821fa0c
Tokens can be cached beyond the lifetime of the (http) transport. (#834) 2025-11-24 17:56:56 -08:00
Stephen Halter
707c083c65
Revert "Update to MTP (#958)" (#1011) 2025-11-21 14:53:16 -08:00
Youssef Victor
c94cb895a7
Revert "Revert "Update to MTP"" (#990) 2025-11-21 15:28:42 +02:00
Copilot
a559bfb891
Use JsonElement.Parse for string-to-JsonElement deserialization (#1002)
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-21 11:00:11 +02:00
Stephen Toub
15139cc569
Add tools support to sampling (#976) 2025-11-20 09:52:23 -05:00
Copilot
ad86b53347
Add production-ready incremental source generator for automatic Description attributes from XML comments (#899)
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2025-11-20 09:14:17 -05:00
Copilot
83098e7cc0
Implement SEP-1330: Standards-compliant enum schemas for elicitation (#969)
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-11-19 22:51:02 -05:00
Copilot
3f39ba7936
Skip flaky test on Mono where stderr callbacks are unsupported (#980)
* Initial plan

* Fix race condition in StdioClientSessionTransport stderr handling

Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>

* Simplify WaitForExit logic as suggested in code review

Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>

* Skip flaky test on Mono and revert incorrect fix

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-19 22:34:06 -05:00
Eirik Tsarpalis
bf0a65b3e3
Revert "Update to MTP (#958)" (#989)
This reverts commit 7080e3a621.
2025-11-19 18:48:33 +02:00
Mackinnon Buck
d540dc1fb1
Make RequestId non-required (#984) 2025-11-18 16:03:31 -08:00
Youssef Victor
7080e3a621
Update to MTP (#958)
* Update to MTP

* Drop GitHubActionsTestLogger, better test output, and update dependabot.yml

* Keep cobertura

* Fix Makefile
2025-11-18 15:06:09 +02:00
Stephen Halter
b9c9f44e06
Fix tests in Dev Container (#965) 2025-11-17 11:48:18 -05:00
Copilot
00bb5b2678
Add Description property to Implementation type per MCP spec (#966)
* Initial plan

* Add Description property to Implementation type

Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>

* Add test to validate client Description from server perspective

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-11-17 10:42:40 -05:00
Copilot
4b241e7ddc
Align error handling documentation with SEP-1303 (#967)
* Initial plan

* Update documentation to clarify error handling per SEP-1303

- Updated McpErrorCode.InvalidParams documentation to clarify it's for protocol-level errors (malformed requests, unknown primitives)
- Updated CallToolResult documentation to distinguish between tool execution errors and protocol errors
- Updated McpProtocolException documentation to emphasize it's only for protocol-level errors
- Added test to verify input validation errors are returned as tool execution errors (IsError=true)
- Implementation already correctly handles input validation as tool execution errors per SEP-1303

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-17 10:01:30 -05:00
Stephen Toub
b993ae0e61
Update to .NET 10.x packages (#957) 2025-11-12 14:14:40 +01:00
Jeff Handley
d4ee78797b
Ignore unexpected properties when deserializing a ContentBlock (#956)
* Ignore unexpected properties when deserializing a ContentBlock

* Fix deserialization of Reference.Title and more bugs for unknown props

* Remove comments about skipping additional properties
2025-11-09 01:00:55 -08: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
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