-
Notifications
You must be signed in to change notification settings - Fork 614
Description
The v0.1.11 release of the Conformance tests was published a few days ago. The C# SDK is required to pass all the tests in this release to be a "Tier 1" SDK.
I've started work on updating the SDK to run these tests. This work is in this branch:
https://github.com/modelcontextprotocol/csharp-sdk/tree/mdk/client-conformance-v0.1.11
I've managed to get some of the tests passing by fixing the test client, and those fixes are already pushed to the branch. But there are six tests still failing. Copilot believes that all these tests require fixes to the SDK itself to get to passing. Here's the summary from Copilot:
Remaining 6 Failing Tests (require SDK changes):
| Test | Issue | Why Not Fixable with Test Changes |
|---|---|---|
| sse-retry | Client doesn't send Last-Event-ID header on reconnection | Requires SDK transport layer changes |
| auth/token-endpoint-auth-basic | Client uses client_secret_post but should use client_secret_basic | SDK doesn't respect token_endpoint_auth_methods_supported |
| auth/pre-registration | Client always tries dynamic registration, ignores pre-registered credentials | SDK doesn't support pre-registered client credentials |
| auth/scope-retry-limit | Client doesn't retry authorization with different scopes on 401 | SDK needs scope step-up retry logic |
| auth/client-credentials-jwt | Client uses authorization code flow instead of client_credentials | SDK doesn't support client_credentials grant type |
| auth/client-credentials-basic | Client uses authorization code flow instead of client_credentials | SDK doesn't support client_credentials grant type |
The remaining failures all require changes to the SDK's OAuth implementation (in ClientOAuthProvider.cs) to:
- Support the client_credentials grant type
- Respect token_endpoint_auth_methods_supported
- Support pre-registered client credentials
- Implement scope step-up retry logic
- Send Last-Event-ID header on SSE reconnection