Run Conformance From Branch
Run C# SDK conformance tests against an unpublished modelcontextprotocol/conformance branch (including branches in forks).
Use Cases
- Validate a conformance PR before it is published to npm
- Validate C# SDK behavior against a fork with custom scenario changes
- Reproduce failures caused by conformance changes
Safety / Repo Hygiene
- Start from a clean git state.
- Commit or stash local changes first.
- Restore pinned dependencies when done (
npm ci).
Inputs
- Source type:
upstream-branchorfork-branch - Source locator:
- Upstream branch:
modelcontextprotocol/conformance#<branch> - Fork branch:
<owner>/conformance#<branch>
- Upstream branch:
- Scenario (optional): e.g.
auth/scope-step-up
Workflows
A) Install directly from GitHub branch (upstream or fork)
From csharp-sdk root:
npm install --no-save @modelcontextprotocol/conformance@github:<owner>/conformance#<branch>
Examples:
npm install --no-save @modelcontextprotocol/conformance@github:modelcontextprotocol/conformance#main
npm install --no-save @modelcontextprotocol/conformance@github:myuser/conformance#sep-2350-check
Run Tests
Run client conformance tests with dotnet test filter:
dotnet test tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj -f net10.0 --filter "FullyQualifiedName~ClientConformanceTests"
Run server conformance tests with dotnet test filter:
dotnet test tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj -f net10.0 --filter "FullyQualifiedName~ServerConformanceTests"
Reporting
Always report:
- Installed conformance source (
npm ls @modelcontextprotocol/conformance --depth=0) - Scenario results (pass/fail/warnings)
- Any new check IDs observed (for traceability)
Cleanup / Restore
Return repo to pinned dependency state:
npm ci