http-protocol-version

Unsupported protocol version rejected

shipped

The sections below are generated from the CLI (methodology 0.3-draft, CLI 0.3.0); the same text is printed by sealmark explain http-protocol-version.

pack
http
weight
scored
scope
server as deployed (MCP-Protocol-Version validation)
decided by
http
since
0.2-draft (methodology 0.3-draft)
config keys
checks.http-protocol-version.enabledchecks.http-protocol-version.severityserver.url

Probes

  • old-version tools/list with MCP-Protocol-Version: 1999-01-01, after a control tools/list with the negotiated version

Settings and thresholds

Every check also takes checks.http-protocol-version.enabled and checks.http-protocol-version.severity; they are described once in the configuration reference.

This check has no numeric threshold.

KeyDefaultStandardMeaning
server.urlnonenot lockedURL of a Streamable HTTP server. Alone it must already be running; with command, Sealmark starts it and waits for this URL.

How the verdict is established

  • Scoring. scored: pass = 1 point, part = 0.5, fail = 0. A fail lowers the pack's percentage but never caps the letter.

What to fix

Answer 400 to a request whose MCP-Protocol-Version header names an unsupported version instead of quietly negotiating down.

False positives

A server that negotiates down quietly is lenient rather than unsafe; the specification says it MUST answer 400.

False negatives

Versions other than the one tried; behavior on requests that omit the header.