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.
Running the black-box @hasmcp/mcp-spec-test conformance suite against the
weather-server-pythonexample in this repo (spec revision 2026-07-28), the server fails 8 conformance checks. The biggest cluster is thatserver/discoveris not implemented at all (returnsMethod not found), which cascades into 22 other checks being skipped because the suite can't determine server capabilities without it. Separately, a version-lesstools/listrequest 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 thatserver/discoverand 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.
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'Failed (8)
the server deviates from the spec here
server/discover
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"}
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"}
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"}
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"}
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"}
server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found","data":"server/discover"}
Version negotiation
a version-less tools/list must be served, not refused: {"code":-32602,"message":"Invalid request parameters","data":""}
Official SDK interop
MCP error -32603: Handler returned an invalid result
Not verified (22)
skipped; a skip is not a pass
Capability methods
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
Version negotiation
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
Result envelope
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
subscriptions/listen
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
cannot determine what the target supports — server/discover returned an error: {"code":-32601,"message":"Method not found","data":"server/discover"}
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
Result envelope
Official SDK interop
subscriptions/listen
How to reproduce
With Docker:
Without Docker (npx):
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.