Skip to content

Align SEP-2575 checks with spec PR #3002: serverInfo in result _meta, clientInfo optional#403

Merged
felixweinberger merged 1 commit into
mainfrom
fweinberger/spec-3002-alignment
Jul 17, 2026
Merged

Align SEP-2575 checks with spec PR #3002: serverInfo in result _meta, clientInfo optional#403
felixweinberger merged 1 commit into
mainfrom
fweinberger/spec-3002-alignment

Conversation

@felixweinberger

Copy link
Copy Markdown
Collaborator

Spec PR modelcontextprotocol/modelcontextprotocol#3002 (merged 2026-07-15, part of the final 2026-07-28 revision) moved serverInfo into result _meta and demoted clientInfo to SHOULD. The referee still asserts the pre-#3002 shape, so a spec-correct SDK fails two SEP-2575 checks.

Changes:

  • clientInfo optional is now the positive assertion on the 2026-07-28 request envelope checks (malformed clientInfo still rejects); the two checks that previously required it are updated in place.
  • New server-identity check at SHOULD severity: a 2026-era result carrying _meta serverInfo is validated; absence is WARNING/SKIPPED, never FAIL.
  • The client-side clientInfo SHOULD split into its own check id so client and server conformance report independently.
  • Mocks and the everything-server emit the final shapes; vendored schemas re-pinned at the #3002 spec commit (71e30695).

Tested: full referee suite (419 tests) green; run end-to-end against a typescript-sdk build implementing the final shape (all SEP-2575 legs pass) and against a pre-#3002 build (the two updated checks fail as intended, the SHOULD check warns).

… clientInfo optional

Spec PR #3002 (part of the final 2026-07-28 revision) moved serverInfo from
the DiscoverResult body to _meta['io.modelcontextprotocol/serverInfo'] and
demoted the request envelope's clientInfo from required to SHOULD. The
checks still asserted the old shape, failing SDKs that follow the final
revision.

- Vendor schema types at spec commit 71e30695.
- server-stateless: drop the missing-clientInfo rejection case and assert
  the opposite (a clientInfo-less request must be served, new check
  sep-2575-request-meta-client-info-optional); discover no longer requires
  body serverInfo; new SHOULD-level check
  sep-2575-server-identifies-in-result-meta (WARNING when the _meta
  identity is absent, SKIPPED when discover itself failed).
- request-metadata (client side): the clientInfo SHOULD moves out of the
  MUST check into its own id sep-2575-client-sends-client-info (WARNING on
  absence), so requirement levels never blend in one check id.
- Mock servers and the everything-server example emit the _meta identity
  and accept clientInfo-less requests.
@pkg-pr-new

pkg-pr-new Bot commented Jul 17, 2026

Copy link
Copy Markdown

Open in StackBlitz

npx https://pkg.pr.new/@modelcontextprotocol/conformance@403

commit: 2b8fd17

@felixweinberger
felixweinberger merged commit d1c0b95 into main Jul 17, 2026
8 checks passed
@felixweinberger
felixweinberger deleted the fweinberger/spec-3002-alignment branch July 17, 2026 17:03
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.

2 participants