When run through @hasmcp/mcp-spec-test (spec revision 2025-11-25), the bundled mcp_servers/math-mcp server fails 1 conformance requirement: the initialize handshake responds with the legacy protocol version 2024-11-05 even when a client offers 2025-11-25, rather than settling on a revision inside the currently-supported window. This is the same underlying cause (a hardcoded/outdated protocolVersion in the server's initialize response) as the larger set of failures reported for revision 2026-07-28 in the separate issue filed alongside this one.
Conformance report (spec 2025-11-25)
MCP 2025-11-25 conformance report
Verdict: not conformant — 1 requirement violated.
|
|
| Target |
sh -c '\[ -d /tmp/bench \] || git clone --depth 1 -q https://github.com/Accenture/mcp-bench /tmp/bench; cd /tmp/bench/mcp\_servers/math-mcp && \[ -d build \] || (npm install --silent \>/dev/null 2\>&1 && npm run build --silent \>/dev/null 2\>&1); node build/index.js' |
| Transport |
stdio |
| Revision tested |
2025-11-25 |
| Revisions supported |
2026-07-28, 2025-11-25 |
| Passed |
6 |
| Failed |
1 |
| Not verified |
13 |
| Cases applied |
20 |
| Duration |
1446ms |
| Generated |
2026-08-24T04:56:03.069Z |
| Tool |
@hasmcp/mcp-spec-test 0.1.1 |
Failed (1)
the server deviates from the spec here
Official SDK interop
- the handshake settles on a revision inside the supported window
a client offering 2025-11-25 was answered with 2024-11-05, outside the supported window (2026-07-28, 2025-11-25)
Not verified (13)
skipped; a skip is not a pass
Capability methods
- tools/list returns schema-conformant tools
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
- tools/call on an unknown tool is an error, not a crash
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
- tools/call returns a schema-conformant CallToolResult
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
- prompts/list returns schema-conformant prompts
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
- prompts/get returns messages with a role and content
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
- resources/list returns schema-conformant resources
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
- resources/templates/list returns schema-conformant templates
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
- resources/read returns contents for every sampled resource
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
- resources/read on an unknown uri is an error
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
- following nextCursor terminates and does not repeat a page
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
- an invalid pagination cursor is rejected (SHOULD)
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
Version negotiation
- initialize returns the schema-required fields
no session — server negotiated 2024-11-05, not the 2025-11-25 under test
- the handshake settles on the revision under test
no session — server negotiated 2024-11-05, not the 2025-11-25 under test
Passed (6)
checked and conformant
server/discover
- the suite is reading a schema that matches the features it selected
Version negotiation
- a request with no version at all is served on the default
- an unsupported version offered at the handshake is refused or downgraded, not echoed
Official SDK interop
- the official SDK does not yet implement the newest revision
- a stock official-SDK client completes the handshake
- a stock official-SDK client can list tools
How to reproduce
With Docker:
docker pull hasmcp/mcp-spec-test:latest
docker run --rm hasmcp/mcp-spec-test -c "sh -c '[ -d /tmp/bench ] || git clone --depth 1 -q https://github.com/Accenture/mcp-bench /tmp/bench; cd /tmp/bench/mcp_servers/math-mcp && [ -d build ] || (npm install --silent >/dev/null 2>&1 && npm run build --silent >/dev/null 2>&1); node build/index.js'" --spec-version 2025-11-25
(or, if that image can't run on your platform: git clone https://github.com/hasmcp/mcp-spec-test && cd mcp-spec-test && docker build -t mcp-spec-test . && docker run --rm mcp-spec-test -c "..." --spec-version 2025-11-25)
Without Docker (npx):
npx @hasmcp/mcp-spec-test@latest -c "sh -c '[ -d /tmp/bench ] || git clone --depth 1 -q https://github.com/Accenture/mcp-bench /tmp/bench; cd /tmp/bench/mcp_servers/math-mcp && [ -d build ] || (npm install --silent >/dev/null 2>&1 && npm run build --silent >/dev/null 2>&1); node build/index.js'" --spec-version 2025-11-25
This was filed by an automated MCP spec-conformance sweep against the math-mcp example server bundled in this repo. The same server also fails 7 requirements against revision 2026-07-28, tracked in a separate issue (linked above/below).
When run through
@hasmcp/mcp-spec-test(spec revision 2025-11-25), the bundledmcp_servers/math-mcpserver fails 1 conformance requirement: theinitializehandshake responds with the legacy protocol version2024-11-05even when a client offers2025-11-25, rather than settling on a revision inside the currently-supported window. This is the same underlying cause (a hardcoded/outdatedprotocolVersionin the server'sinitializeresponse) as the larger set of failures reported for revision 2026-07-28 in the separate issue filed alongside this one.Conformance report (spec 2025-11-25)
MCP 2025-11-25 conformance report
Verdict: not conformant — 1 requirement violated.
sh -c '\[ -d /tmp/bench \] || git clone --depth 1 -q https://github.com/Accenture/mcp-bench /tmp/bench; cd /tmp/bench/mcp\_servers/math-mcp && \[ -d build \] || (npm install --silent \>/dev/null 2\>&1 && npm run build --silent \>/dev/null 2\>&1); node build/index.js'Failed (1)
the server deviates from the spec here
Official SDK interop
a client offering 2025-11-25 was answered with 2024-11-05, outside the supported window (2026-07-28, 2025-11-25)
Not verified (13)
skipped; a skip is not a pass
Capability methods
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
cannot determine what the target supports — server negotiated 2024-11-05, not the 2025-11-25 under test
Version negotiation
no session — server negotiated 2024-11-05, not the 2025-11-25 under test
no session — server negotiated 2024-11-05, not the 2025-11-25 under test
Passed (6)
checked and conformant
server/discover
Version negotiation
Official SDK interop
How to reproduce
With Docker:
(or, if that image can't run on your platform:
git clone https://github.com/hasmcp/mcp-spec-test && cd mcp-spec-test && docker build -t mcp-spec-test . && docker run --rm mcp-spec-test -c "..." --spec-version 2025-11-25)Without Docker (npx):
This was filed by an automated MCP spec-conformance sweep against the
math-mcpexample server bundled in this repo. The same server also fails 7 requirements against revision 2026-07-28, tracked in a separate issue (linked above/below).