MCP spec conformance: 5 requirements violated (via @hasmcp/mcp-spec-test) — spec 2025-11-25
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 52/100
Direzione di ricerca
Inizia da examples/qr-server/server.py e riproduci il comando segnalato utilizzando le istruzioni Docker o npx con la spec version 2025-11-25. Verifica se il processo termina prima del MCP handshake e determina se si tratta di un problema effettivo del server o di un artefatto dell’ambiente, della rete o dello script remoto di uv. Il lavoro è completato quando il server completa l’handshake e i fallimenti di conformance sono risolti o confermati come falsi positivi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Running the automated @hasmcp/mcp-spec-test conformance suite against the examples/qr-server/server.py stdio server, this time pinned to spec revision 2025-11-25, found the same underlying issue as with the newer revision: the server process exits before completing the MCP handshake. Under this revision that surfaces as 5 failed requirements (versus 10 under 2026-07-28), since fewer handshake-dependent cases apply at this revision. As with the other report, this may be an environment/dependency artifact of running uv run against a remote script URL inside the test container rather than a genuine server bug — flagging for a maintainer to confirm.
Conformance report
MCP 2025-11-25 conformance report
Verdict: not conformant — 5 requirements violated.
| Target | uv run https://raw.githubusercontent.com/modelcontextprotocol/ext-apps/HEAD/examples/qr-server/server.py --stdio |
| Transport | stdio |
| Revision tested | 2025-11-25 |
| Revisions supported | 2026-07-28, 2025-11-25 |
| Passed | 2 |
| Failed | 5 |
| Not verified | 13 |
| Cases applied | 20 |
| Duration | 10394ms |
| Generated | 2026-08-24T09:21:52.168Z |
| Tool | @hasmcp/mcp-spec-test 0.1.1 |
Failed (5)
the server deviates from the spec here
Version negotiation
- a request with no version at all is served on the default
a version-less request must be served, got 0: {"_raw":"server exited"}
0 !== 200
- an unsupported version offered at the handshake is refused or downgraded, not echoed
expected either an error or a protocolVersion, got {"_raw":"server exited"}
Official SDK interop
- a stock official-SDK client completes the handshake
MCP error -32000: Connection closed - the handshake settles on a revision inside the supported window
initialize must return a protocolVersion, got undefined - a stock official-SDK client can list tools
MCP error -32000: Connection closed
Not verified (13)
skipped; a skip is not a pass
Capability methods
- tools/list returns schema-conformant tools
cannot determine what the target supports — initialize returned no result (status 0) - tools/call on an unknown tool is an error, not a crash
cannot determine what the target supports — initialize returned no result (status 0) - tools/call returns a schema-conformant CallToolResult
cannot determine what the target supports — initialize returned no result (status 0) - prompts/list returns schema-conformant prompts
cannot determine what the target supports — initialize returned no result (status 0) - prompts/get returns messages with a role and content
cannot determine what the target supports — initialize returned no result (status 0) - resources/list returns schema-conformant resources
cannot determine what the target supports — initialize returned no result (status 0) - resources/templates/list returns schema-conformant templates
cannot determine what the target supports — initialize returned no result (status 0) - resources/read returns contents for every sampled resource
cannot determine what the target supports — initialize returned no result (status 0) - resources/read on an unknown uri is an error
cannot determine what the target supports — initialize returned no result (status 0) - following nextCursor terminates and does not repeat a page
cannot determine what the target supports — initialize returned no result (status 0) - an invalid pagination cursor is rejected (SHOULD)
cannot determine what the target supports — initialize returned no result (status 0)
Version negotiation
- initialize returns the schema-required fields
no session — initialize returned no result (status 0) - the handshake settles on the revision under test
no session — initialize returned no result (status 0)
Passed (2)
checked and conformant
server/discover
- the suite is reading a schema that matches the features it selected
Official SDK interop
- the official SDK does not yet implement the newest revision
How to reproduce
With Docker:
docker pull hasmcp/mcp-spec-test:latest
docker run --rm hasmcp/mcp-spec-test -c "uv run https://raw.githubusercontent.com/modelcontextprotocol/ext-apps/HEAD/examples/qr-server/server.py --stdio" --spec-version 2025-11-25
Without Docker (npx):
npx @hasmcp/mcp-spec-test@latest -c "uv run https://raw.githubusercontent.com/modelcontextprotocol/ext-apps/HEAD/examples/qr-server/server.py --stdio" --spec-version 2025-11-25
This report was generated as part of an automated conformance sweep across public MCP server repos. The server also supports spec revision 2026-07-28, which showed a different (larger) set of failures and is reported separately. If this turns out to be a false positive specific to the test container's environment (e.g. missing uv/network access to fetch the remote script, or a uv run <url> invocation quirk rather than a real handshake bug), feel free to close this — happy to help re-verify with more detail if useful.
- Lingua principale
- TypeScript
- Stelle
- 2.9k
- Fork
- 387
- Merge medio
- 2h 54m
- PR unite (30g)
- 7
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di modelcontextprotocol/ext-apps
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
modelcontextprotocol/ext-apps#786 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
modelcontextprotocol/ext-apps#767 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
modelcontextprotocol/ext-apps#742 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
modelcontextprotocol/ext-apps#711 ·
-
Spec: Deprecate Sampling Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
modelcontextprotocol/ext-apps#706 ·
Tutte le issue di modelcontextprotocol/ext-apps
Issue simili
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Mend: dependency security vulnerability untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100