MCP spec conformance: 8 requirements violated (via @hasmcp/mcp-spec-test) — spec 2026-07-28
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia da weather-server-python/weather.py e riproduci il report usando @hasmcp/mcp-spec-test per la revisione della specifica 2026-07-28. Confronta il comportamento supportato dall'esempio con i fallimenti elencati di server/discover, version-negotiation e tools/list e conferma se questo esempio è destinato a quella revisione. Il lavoro è completato quando i fallimenti di conformità applicabili sono stati risolti e la suite non segnala violazioni rilevanti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Running the black-box @hasmcp/mcp-spec-test conformance suite against the weather-server-python example in this repo (spec revision 2026-07-28), the server fails 8 conformance checks. The biggest cluster is that server/discover is not implemented at all (returns Method not found), which cascades into 22 other checks being skipped because the suite can't determine server capabilities without it. Separately, a version-less tools/list request is refused instead of being served on the default revision, and a stock official-SDK client gets an "invalid result" error trying to list tools. This may simply reflect that server/discover and strict version-negotiation are newer parts of the 2026-07-28 revision that this example server predates — flagging in case it's useful, and happy to have this closed if it's not applicable.
Conformance report
MCP 2026-07-28 conformance report
Verdict: not conformant — 8 requirements violated.
| Target | sh -c '\[ -d /tmp/qr \] || git clone --depth 1 https://github.com/modelcontextprotocol/quickstart-resources /tmp/qr; cd /tmp/qr/weather-server-python && uv run weather.py' |
| Transport | stdio |
| Revision tested | 2026-07-28 |
| Revisions supported | 2026-07-28, 2025-11-25 |
| Passed | 6 |
| Failed | 8 |
| Not verified | 22 |
| Cases applied | 36 |
| Duration | 11239ms |
| Generated | 2026-08-24T09:29:15.318Z |
| Tool | @hasmcp/mcp-spec-test 0.1.1 |
Failed (8)
the server deviates from the spec here
server/discover
- server/discover is answered without a session or handshake
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"} - server/discover advertises the versions the server can serve
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"} - server/discover is a CacheableResult with usable cache hints
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"} - server/discover reports server identity and capabilities
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"} - server/discover is stable across calls within its own TTL
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"} - server/discover advertises a revision this suite supports
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"}
Version negotiation
- a request with no version at all is served on the default
a version-less tools/list must be served, not refused: {"code":-32602,"message":"Invalid request parameters","data":""}
Official SDK interop
- a stock official-SDK client can list tools
MCP error -32603: Handler returned an invalid result
Not verified (22)
skipped; a skip is not a pass
Capability methods
- tools/list returns schema-conformant tools
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - tools/call on an unknown tool is an error, not a crash
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - tools/call returns a schema-conformant CallToolResult
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - prompts/list returns schema-conformant prompts
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - prompts/get returns messages with a role and content
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - resources/list returns schema-conformant resources
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - resources/templates/list returns schema-conformant templates
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - resources/read returns contents for every sampled resource
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - resources/read on an unknown uri is an error
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - following nextCursor terminates and does not repeat a page
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - an invalid pagination cursor is rejected (SHOULD)
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
Version negotiation
- a version declared in _meta is accepted
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - an unsupported version is rejected with the supported list
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - clientInfo is optional (SHOULD, not MUST)
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
Result envelope
- every result carries the required resultType
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - cacheable list results carry the schema-required cache hints
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - results identify the server in _meta
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - a client on an older version receives no newer-revision fields
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
subscriptions/listen
- subscriptions/listen acknowledges only the opted-in notification types
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - the acknowledgment carries the subscription id for correlation
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - a listen requesting no notification types is not a subscription to everything
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"} - a cancelled subscription ends with a conformant teardown result, if it sends one
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
Passed (6)
checked and conformant
server/discover
- the suite is reading a schema that matches the features it selected
Result envelope
- schema sanity: the envelope fields match the features selected
Official SDK interop
- the official SDK does not yet implement the newest revision
- a stock official-SDK client completes the handshake
- the handshake settles on a revision inside the supported window
subscriptions/listen
- schema sanity: SubscriptionsListenResult requires _meta and resultType
How to reproduce
With Docker:
docker pull hasmcp/mcp-spec-test:latest
docker run --rm hasmcp/mcp-spec-test -c "sh -c '[ -d /tmp/qr ] || git clone --depth 1 https://github.com/modelcontextprotocol/quickstart-resources /tmp/qr; cd /tmp/qr/weather-server-python && uv run weather.py'" --spec-version 2026-07-28
Without Docker (npx):
npx @hasmcp/mcp-spec-test@latest -c "sh -c '[ -d /tmp/qr ] || git clone --depth 1 https://github.com/modelcontextprotocol/quickstart-resources /tmp/qr; cd /tmp/qr/weather-server-python && uv run weather.py'" --spec-version 2026-07-28
This issue was generated by an automated MCP spec conformance sweep across public MCP server repos. If this doesn't apply here (e.g. an environment artifact of the test container, or this example intentionally targets an older spec revision), feel free to close it.
- Lingua principale
- TypeScript
- Stelle
- 1.2k
- Fork
- 680
- Merge medio
- 3g 58m
- PR unite (30g)
- 9
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/quickstart-resources
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
modelcontextprotocol/quickstart-resources#46 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
Tutte le issue di modelcontextprotocol/quickstart-resources
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
mksglu/context-mode#1200 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
anthropics/claude-code#96687 ·
-
good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
AOSSIE-Org/DebateAI#582 · 2 commenti ·