diff --git a/conformance/README.md b/conformance/README.md index 5179012f..ea2c9172 100644 --- a/conformance/README.md +++ b/conformance/README.md @@ -47,10 +47,10 @@ bundle exec rake conformance_server PORT=3000 bundle exec rake conformance_server # Terminal 2: run all scenarios -npx @modelcontextprotocol/conformance server --url http://localhost:9292/mcp +npx @modelcontextprotocol/conformance@alpha server --url http://localhost:9292/mcp # Terminal 2: run a single scenario -npx @modelcontextprotocol/conformance server --url http://localhost:9292/mcp --scenario ping +npx @modelcontextprotocol/conformance@alpha server --url http://localhost:9292/mcp --scenario ping ``` Keeps the server alive between test runs, which avoids the startup overhead when iterating diff --git a/conformance/client_runner.rb b/conformance/client_runner.rb index a99fbac1..418e7f4b 100644 --- a/conformance/client_runner.rb +++ b/conformance/client_runner.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Runs `npx @modelcontextprotocol/conformance client` against the conformance client script. +# Runs `npx @modelcontextprotocol/conformance@alpha client` against the conformance client script. require "English" module Conformance @@ -29,7 +29,7 @@ def build_command npx_command = [ "npx", "--yes", - "@modelcontextprotocol/conformance", + "@modelcontextprotocol/conformance@alpha", "client", "--command", "bundle exec ruby #{client_script}", diff --git a/conformance/expected_failures.yml b/conformance/expected_failures.yml index 371853de..e26c20eb 100644 --- a/conformance/expected_failures.yml +++ b/conformance/expected_failures.yml @@ -1,6 +1,19 @@ server: [] client: - # TODO: The conformance framework's client-initialization check pins the expected requested version to 2025-11-25, - # while this SDK's latest protocol version is 2026-07-28. Remove once the @modelcontextprotocol/conformance package - # accepts 2026-07-28. - - initialize + # Pending client-side support for the 2026-07-28 stateless lifecycle: the conformance client + # still connects through the legacy handshake and has no SEP-2322 MRTR driver yet. + - request-metadata + - sep-2322-client-request-state + # SEP-2243 client-side custom-header mirroring and invalid-tool header gating + # are not implemented in `MCP::Client::HTTP` yet. + - http-custom-headers + - http-invalid-tool-headers + # Client-side JSON Schema preservation gaps: `$ref` values must reach the caller unresolved. + - json-schema-ref-no-deref + - json-schema-2020-12-preservation + # Unimplemented authorization extensions. + - auth/dpop + - auth/dpop-nonce + - auth/wif-jwt-bearer + # Fails one check added to the suite after the 0.2.0-alpha.10 requirements anchor. + - auth/authorization-server-migration diff --git a/conformance/server_runner.rb b/conformance/server_runner.rb index 0a4e9e23..3decbad5 100644 --- a/conformance/server_runner.rb +++ b/conformance/server_runner.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Starts the conformance server and runs `npx @modelcontextprotocol/conformance` against it. +# Starts the conformance server and runs `npx @modelcontextprotocol/conformance@alpha` against it. require "English" require "net/http" require_relative "server" @@ -31,7 +31,7 @@ def run def build_command expected_failures_yml = File.expand_path("expected_failures.yml", __dir__) - npx_command = ["npx", "--yes", "@modelcontextprotocol/conformance", "server", "--url", "http://localhost:#{@port}/mcp"] + npx_command = ["npx", "--yes", "@modelcontextprotocol/conformance@alpha", "server", "--url", "http://localhost:#{@port}/mcp"] npx_command += ["--scenario", @scenario] if @scenario npx_command += ["--spec-version", @spec_version] if @spec_version npx_command += ["--verbose"] if @verbose