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
Update (2026-07-15): the harness crash originally described here no longer reproduces. With @modelcontextprotocol/conformance@0.2.0-alpha.9 against current main, the scenario runs cleanly and reports real results, so the remaining work is a client feature gap, not a harness investigation.
Latest local run:
[sep-2575-http-client-sends-version-header ] SUCCESS Client sends MCP-Protocol-Version header on every POST
[sep-2575-client-populates-meta ] FAILURE Client populates _meta on every request with all three required fields
[sep-2575-http-version-header-matches-meta ] SKIPPED MCP-Protocol-Version header matches _meta.protocolVersion
[sep-2575-client-declares-roots-capability ] SKIPPED
[sep-2575-client-declares-sampling-capability ] SKIPPED
[sep-2575-client-declares-elicitation-capability] SKIPPED
[sep-2575-client-retry-supported-version ] WARNING Client retries with a supported version when first choice is rejected
Passed: 1/2, 1 failed, 1 warnings
Work:
Populate io.modelcontextprotocol/protocolVersion, io.modelcontextprotocol/clientInfo, and io.modelcontextprotocol/clientCapabilities in request _meta on every outgoing client request when the negotiated protocol version is 2026-07-28 or newer. The model side landed in feat!: align metadata models with draft schema #993 (RequestMetaObject with typed setters and missing_required_keys); this is the client runtime wiring.
The skipped checks (http-version-header-matches-meta, capability declarations) should start executing once _meta is populated; verify they pass.
Add the request-metadata scenario to .github/workflows/conformance.yml once green.
If the original harness crash (SyntaxError: Unexpected end of JSON input) resurfaces, file it upstream at modelcontextprotocol/conformance.
Part of #977.
Update (2026-07-15): the harness crash originally described here no longer reproduces. With
@modelcontextprotocol/conformance@0.2.0-alpha.9against currentmain, the scenario runs cleanly and reports real results, so the remaining work is a client feature gap, not a harness investigation.Latest local run:
Work:
io.modelcontextprotocol/protocolVersion,io.modelcontextprotocol/clientInfo, andio.modelcontextprotocol/clientCapabilitiesin request_metaon every outgoing client request when the negotiated protocol version is2026-07-28or newer. The model side landed in feat!: align metadata models with draft schema #993 (RequestMetaObjectwith typed setters andmissing_required_keys); this is the client runtime wiring.http-version-header-matches-meta, capability declarations) should start executing once_metais populated; verify they pass.request-metadatascenario to.github/workflows/conformance.ymlonce green.SyntaxError: Unexpected end of JSON input) resurfaces, file it upstream at modelcontextprotocol/conformance.Repro: