Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Everything-server rejects valid _meta on stateful initialize

Offen
#506 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 7 Tagen

@lucarlig arbeitet bereits daran.

Seit 18.9.2026.

  • #507 von @lucarlig — offen
  • #510 von @po-et — ohne Merge geschlossen

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
76/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
typescript
Bereich
api, backend, testing

Rechercherichtung

Beginne mit examples/servers/typescript/everything-server.ts und reproduziere die Anfrage mit den bereitgestellten npx- und curl-Befehlen. Verfolge, wie initialize-Anfragen mit params._meta klassifiziert werden, und füge anschließend den im Issue beschriebenen Integration-Regressionstest hinzu; abgeschlossen ist die Aufgabe, wenn die _meta: {}-Anfrage eine erfolgreiche initialize-Antwort statt HTTP 400 zurückgibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Problem

The TypeScript everything-server misclassifies a stateful initialize request as stateless whenever params._meta is present. It rejects a valid 2025-11-25 request with HTTP 400 and -32020 Missing MCP-Protocol-Version header.

InitializeRequestParams extends RequestParams in the 2025-11-25 schema, so _meta is allowed on initialize. MCP Python SDK 2.x currently emits _meta: {} there, which makes the conformance fixture unusable as an upstream server for that client.

Reproduction

Start the fixture:

npx tsx examples/servers/typescript/everything-server.ts

Then send:

curl -i -X POST http://127.0.0.1:3000/mcp \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"probe","version":"1"},"_meta":{}}}'

Observed:

{"jsonrpc":"2.0","id":1,"error":{"code":-32020,"message":"Missing MCP-Protocol-Version header"}}

The same request succeeds when _meta is omitted.

Suggested fix

Route initialize through the stateful transport when params.protocolVersion names a session-era protocol, independently of whether optional request metadata is present. Add an integration regression test that sends _meta: {} to the everything-server and asserts a successful initialize response.

Vorherrschende Sprache
TypeScript
Sterne
131
Forks
111
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus modelcontextprotocol/conformance

Alle Issues in modelcontextprotocol/conformance

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.