| name | run-conformance-from-branch |
|---|---|
| description | Run MCP conformance tests in the C# SDK against a conformance branch (including forks) instead of the published npm version, then restore pinned dependencies. |
| compatibility | Requires npm, node, and dotnet SDK. Uses the csharp-sdk repo package.json/package-lock.json and tests/ModelContextProtocol.AspNetCore.Tests. |
Run C# SDK conformance tests against an unpublished modelcontextprotocol/conformance branch (including branches in forks).
- 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
- Start from a clean git state.
- Commit or stash local changes first.
- Restore pinned dependencies when done (
git checkout -- package.json package-lock.json+npm ci).
- 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
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-checkdotnet test tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj -f net10.0 --filter "FullyQualifiedName~ClientConformanceTests"dotnet test tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj -f net10.0 --filter "FullyQualifiedName~ServerConformanceTests"Always report:
- Installed conformance source (
npm ls @modelcontextprotocol/conformance --depth=0) - Scenario results (pass/fail/warnings)
- Any new check IDs observed (for traceability)
Return repo to pinned dependency state:
npm ci