You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: support "draft" as a first-class spec version target
- Add LATEST_SPEC_VERSION and DATED_SPEC_VERSIONS constants so the next
spec release is a one-line change in types.ts.
- Accept "draft" as a valid protocolVersion in the initialize check and
mock-server response.
- --spec-version draft now selects latest-dated scenarios plus draft-tagged
ones, so SEP authors can run the full suite against an SDK tracking the
in-progress spec without retagging core scenarios.
- Forward --spec-version to the client process via
MCP_CONFORMANCE_SPEC_VERSION so SDK examples can pick the matching
protocolVersion.
Closes#253
-`--command` - The command to run your MCP client (can include flags)
65
65
-`--scenario` - The test scenario to run (e.g., "initialize")
66
66
-`--suite` - Run a suite of tests in parallel (e.g., "auth")
67
+
-`--spec-version <version>` - Filter scenarios by spec version (e.g., `2025-11-25`, `draft`). `draft` runs the latest dated release plus any draft-only scenarios
67
68
-`--expected-failures <path>` - Path to YAML baseline file of known failures (see [Expected Failures](#expected-failures))
68
69
-`--timeout` - Timeout in milliseconds (default: 30000)
69
70
-`--verbose` - Show verbose output
70
71
71
-
The framework appends `<server-url>` as an argument to your command and sets the `MCP_CONFORMANCE_SCENARIO` environment variable to the scenario name. For scenarios that require additional context (e.g., client credentials), the `MCP_CONFORMANCE_CONTEXT` environment variable contains a JSON object with scenario-specific data.
72
+
The framework appends `<server-url>` as an argument to your command and sets the `MCP_CONFORMANCE_SCENARIO` environment variable to the scenario name. For scenarios that require additional context (e.g., client credentials), the `MCP_CONFORMANCE_CONTEXT` environment variable contains a JSON object with scenario-specific data. When `--spec-version` is passed, its value is also forwarded as `MCP_CONFORMANCE_SPEC_VERSION`; example clients that target multiple spec versions can read this to select a `protocolVersion` at runtime. SDKs that hard-code their protocol version can ignore it — the harness accepts any draft-prefixed `protocolVersion` (e.g., `DRAFT-2026-v1`) regardless.
0 commit comments