MCP spec conformance: 8 requirements violated (via @hasmcp/mcp-spec-test) — spec 2026-07-28
Los mantenedores suelen responder en 5 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza con weather-server-python/weather.py y reproduce el informe usando @hasmcp/mcp-spec-test para la revisión de la especificación 2026-07-28. Compara el comportamiento compatible del ejemplo con los fallos indicados de server/discover, version-negotiation y tools/list, y confirma si este ejemplo está dirigido a esa revisión. Se considera terminado cuando se hayan resuelto los fallos de conformidad aplicables y la suite no informe de ninguna infracción relevante.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.2k
- Forks
- 688
- Merge medio
- 2 d 18 h
- PR fusionados (30 d)
- 21
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de modelcontextprotocol/quickstart-resources
-
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
modelcontextprotocol/quickstart-resources#233 · 1 comentario · 2 reacciones ·
Los mantenedores suelen responder en 5 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
modelcontextprotocol/quickstart-resources#199 ·
Los mantenedores suelen responder en 5 días
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
modelcontextprotocol/quickstart-resources#191 · 1 comentario ·
Los mantenedores suelen responder en 5 días
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
modelcontextprotocol/quickstart-resources#46 · 1 comentario ·
Los mantenedores suelen responder en 5 días
-
Support for recurring tool callsAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
modelcontextprotocol/quickstart-resources#29 ·
Los mantenedores suelen responder en 5 días
Todos los issues de modelcontextprotocol/quickstart-resources
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
cockpit-project/cockpit-machines#2835 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cloudflare/kumo#866 ·
Los mantenedores suelen responder en 1 día
-
area:connector bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
environment: OPENCODE_API_KEY is described as a Console service account key, but a Go subscription key worksPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
tester-army/e2e#1015 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día