Skip to content

Drive the http-standard-headers scenario in the conformance client - #514

Merged
koic merged 1 commit into
modelcontextprotocol:mainfrom
koic:http_standard_headers_driver
Aug 15, 2026
Merged

Drive the http-standard-headers scenario in the conformance client#514
koic merged 1 commit into
modelcontextprotocol:mainfrom
koic:http_standard_headers_driver

Conversation

@koic

@koic koic commented Aug 13, 2026

Copy link
Copy Markdown
Member

Motivation and Context

The 2026-07-28 requirement set scores http-standard-headers (SEP-2243) on the client leg, but conformance/client.rb had no case for it: the scenario hit the unknown-scenario abort, the client exited 1, and every Mcp-Method / Mcp-Name check reported SKIPPED ("Client did not send a ... request"), failing the scenario in tier-check. The 2026-08-14 tier audit flagged this as the only scored conformance failure (client leg 49/50).

The transport already sends the standard headers on the modern path; what was missing is a driver that exercises each request kind the harness observes. The new case issues tools/list, tools/call (the test_headers fixture tool), resources/list, resources/read (the first listed resource URI), prompts/list, and prompts/get (the first listed prompt), letting the harness see the Mcp-Method header on every POST and the Mcp-Name header on the three name-carrying requests. The initialize / notifications/initialized rows stay SKIPPED by design: the 2026-07-28 wire is stateless, so those requests are never sent.

How Has This Been Tested?

conformance client --scenario http-standard-headers --spec-version 2026-07-28 passes 9/9 checks, and the full --requirements 2026-07-28 client leg exits 0 with every scored scenario passing (435 checks; the only failures are the baselined not-scored DPoP/WIF extensions). RuboCop is clean.

Breaking Changes

None. The change only adds a scenario driver to the conformance client fixture; library code is untouched.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

## Motivation and Context

The 2026-07-28 requirement set scores `http-standard-headers` (SEP-2243) on the client leg,
but `conformance/client.rb` had no case for it: the scenario hit the unknown-scenario abort,
the client exited 1, and every `Mcp-Method` / `Mcp-Name` check reported SKIPPED
("Client did not send a ... request"), failing the scenario in tier-check.
The 2026-08-14 tier audit flagged this as the only scored conformance failure (client leg 49/50).

The transport already sends the standard headers on the modern path; what was missing is
a driver that exercises each request kind the harness observes. The new case issues `tools/list`,
`tools/call` (the `test_headers` fixture tool), `resources/list`, `resources/read`
(the first listed resource URI), `prompts/list`, and `prompts/get` (the first listed prompt),
letting the harness see the `Mcp-Method` header on every POST and the `Mcp-Name` header on
the three name-carrying requests. The `initialize` / `notifications/initialized` rows stay SKIPPED
by design: the 2026-07-28 wire is stateless, so those requests are never sent.

## How Has This Been Tested?

`conformance client --scenario http-standard-headers --spec-version 2026-07-28` passes 9/9 checks,
and the full `--requirements 2026-07-28` client leg exits 0 with every scored scenario passing
(435 checks; the only failures are the baselined not-scored DPoP/WIF extensions). RuboCop is clean.

## Breaking Changes

None. The change only adds a scenario driver to the conformance client fixture; library code is untouched.
@koic
koic merged commit ddec72f into modelcontextprotocol:main Aug 15, 2026
15 of 21 checks passed
@koic
koic deleted the http_standard_headers_driver branch August 15, 2026 02:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant