We ran the @hasmcp/mcp-spec-test black-box MCP conformance suite against this server (npx -y @nanonets/graft mcp .), this time forcing the older spec revision it advertises (2025-11-25). The results differ from the newer revision (reported separately): 5 of 20 applicable checks failed here, versus 10 of 36 for 2026-07-28. The failures point to the same underlying symptom though — a version-less handshake and an unsupported-version handshake both time out with no response, and a stock official MCP SDK client cannot complete initialize or list tools, with the connection closing instead. Because the handshake doesn't succeed, several capability checks could not be verified rather than passing or failing outright. This may be an environment/CLI-flag artifact of the test container rather than a genuine protocol bug — please feel free to close this if it doesn't reproduce for you.
Conformance report
MCP 2025-11-25 conformance report
Verdict: not conformant — 5 requirements violated.
|
|
| Target |
npx -y @nanonets/graft mcp . |
| 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 |
24382ms |
| Generated |
2026-08-24T14:36:06.044Z |
| 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":"no response within 10000ms"}
0 !== 200
-
an unsupported version offered at the handshake is refused or downgraded, not echoed
expected either an error or a protocolVersion, got {"_raw":"no response within 10000ms"}
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 "npx -y @nanonets/graft mcp ." --spec-version 2025-11-25
Without Docker (npx):
npx @hasmcp/mcp-spec-test@latest -c "npx -y @nanonets/graft mcp ." --spec-version 2025-11-25
This issue was generated by an automated MCP spec-conformance sweep against public MCP server repos. If this turns out to be an environment artifact of the test container rather than a real issue in this server, feel free to close it.
We ran the @hasmcp/mcp-spec-test black-box MCP conformance suite against this server (
npx -y @nanonets/graft mcp .), this time forcing the older spec revision it advertises (2025-11-25). The results differ from the newer revision (reported separately): 5 of 20 applicable checks failed here, versus 10 of 36 for 2026-07-28. The failures point to the same underlying symptom though — a version-less handshake and an unsupported-version handshake both time out with no response, and a stock official MCP SDK client cannot completeinitializeor list tools, with the connection closing instead. Because the handshake doesn't succeed, several capability checks could not be verified rather than passing or failing outright. This may be an environment/CLI-flag artifact of the test container rather than a genuine protocol bug — please feel free to close this if it doesn't reproduce for you.Conformance report
MCP 2025-11-25 conformance report
Verdict: not conformant — 5 requirements violated.
npx -y @nanonets/graft mcp .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":"no response within 10000ms"}
0 !== 200
an unsupported version offered at the handshake is refused or downgraded, not echoed
expected either an error or a protocolVersion, got {"_raw":"no response within 10000ms"}
Official SDK interop
MCP error -32000: Connection closed
initialize must return a protocolVersion, got undefined
MCP error -32000: Connection closed
Not verified (13)
skipped; a skip is not a pass
Capability methods
cannot determine what the target supports — initialize returned no result (status 0)
cannot determine what the target supports — initialize returned no result (status 0)
cannot determine what the target supports — initialize returned no result (status 0)
cannot determine what the target supports — initialize returned no result (status 0)
cannot determine what the target supports — initialize returned no result (status 0)
cannot determine what the target supports — initialize returned no result (status 0)
cannot determine what the target supports — initialize returned no result (status 0)
cannot determine what the target supports — initialize returned no result (status 0)
cannot determine what the target supports — initialize returned no result (status 0)
cannot determine what the target supports — initialize returned no result (status 0)
cannot determine what the target supports — initialize returned no result (status 0)
Version negotiation
no session — initialize returned no result (status 0)
no session — initialize returned no result (status 0)
Passed (2)
checked and conformant
server/discover
Official SDK interop
How to reproduce
With Docker:
Without Docker (npx):
This issue was generated by an automated MCP spec-conformance sweep against public MCP server repos. If this turns out to be an environment artifact of the test container rather than a real issue in this server, feel free to close it.