Skip to content

Commit 7e71748

Browse files
atesgoralclaude
andcommitted
Add client conformance section to conformance README
Document how to run client conformance tests alongside the existing server conformance documentation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 4776f71 commit 7e71748

1 file changed

Lines changed: 29 additions & 1 deletion

File tree

conformance/README.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Validates the Ruby SDK's conformance to the MCP specification using [`@modelcont
77
- Node.js (for `npx`)
88
- `bundle install` completed
99

10-
## Running the Tests
10+
## Server Conformance
1111

1212
### Run all scenarios
1313

@@ -64,6 +64,33 @@ bundle exec rake conformance_list
6464

6565
Prints all scenario names that can be passed to `SCENARIO`.
6666

67+
## Client Conformance
68+
69+
The client conformance tests validate `MCP::Client` against the MCP specification by running
70+
it through scenarios served by the conformance test runner.
71+
72+
### Run all client scenarios
73+
74+
```bash
75+
npx @modelcontextprotocol/conformance client --suite core --command "ruby conformance/client.rb"
76+
```
77+
78+
### Run a single scenario
79+
80+
```bash
81+
npx @modelcontextprotocol/conformance client --scenario initialize --command "ruby conformance/client.rb"
82+
```
83+
84+
### List available client scenarios
85+
86+
```bash
87+
npx @modelcontextprotocol/conformance list --client
88+
```
89+
90+
The conformance runner starts a test server for each scenario, sets the
91+
`MCP_CONFORMANCE_SCENARIO` environment variable, and invokes the command with the server URL
92+
as the first argument.
93+
6794
## SDK Tier Report
6895

6996
The [MCP SDK Tier system](https://modelcontextprotocol.io/community/sdk-tiers) requires SDK
@@ -92,6 +119,7 @@ submissions.
92119
conformance/
93120
server.rb # Conformance server (Rack + Puma, default port 9292)
94121
runner.rb # Starts the server, runs npx conformance, exits with result code
122+
client.rb # Conformance client for client-side scenario testing
95123
expected_failures.yml # Baseline of known-failing scenarios
96124
README.md # This file
97125
```

0 commit comments

Comments
 (0)