Skip to content

MCP spec conformance: 6 requirement(s) violated (via @hasmcp/mcp-spec-test) — spec 2026-07-28 #545

Description

@hasmcp-dev

Running the black-box @hasmcp/mcp-spec-test conformance suite against sigmap (via npx -y sigmap --mcp) with the client requesting the newest 2026-07-28 revision shows server/discover returning a JSON-RPC -32601 Method not found error, both before and after the handshake, which blocks verification of 22 further checks. Everything else on this revision otherwise works — a stock SDK client completes the handshake, negotiates a revision inside the supported window, and lists tools fine — so this looks like a real, narrow gap: server/discover simply isn't implemented for the newest revision the server advertises. (Note: the server actually negotiates 2025-11-25 by default via its own handshake; see the companion report filed alongside this one for a different, smaller violation on that revision.)

Conformance report

MCP 2026-07-28 conformance report

Verdict: not conformant — 6 requirements violated.

Target npx -y sigmap --mcp
Transport stdio
Revision tested 2026-07-28
Revisions supported 2026-07-28, 2025-11-25
Passed 8
Failed 6
Not verified 22
Cases applied 36
Duration 1414ms
Generated 2026-08-24T14:44:55.328Z
Tool @hasmcp/mcp-spec-test 0.1.1

Failed (6)

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: server/discover"}
  • server/discover advertises the versions the server can serve
    server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found: server/discover"}
  • server/discover is a CacheableResult with usable cache hints
    server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found: server/discover"}
  • server/discover reports server identity and capabilities
    server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found: server/discover"}
  • server/discover is stable across calls within its own TTL
    server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found: server/discover"}
  • server/discover advertises a revision this suite supports
    server/discover unexpected JSON-RPC error: {"code":-32601,"message":"Method not found: server/discover"}

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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: server/discover"}

Passed (8)

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

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
  • a stock official-SDK client can list tools

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 "npx -y sigmap --mcp" --spec-version 2026-07-28

(on Apple Silicon / arm64 hosts, add --platform linux/amd64; the published image currently only ships an amd64 manifest but runs fine under emulation)

Without Docker (npx):

npx @hasmcp/mcp-spec-test@latest -c "npx -y sigmap --mcp" --spec-version 2026-07-28

This report was generated by an automated MCP conformance sweep across public MCP server repos. If the 2026-07-28 revision simply isn't implemented yet, or this is otherwise not applicable, feel free to close it. (A companion report against the 2025-11-25 revision, with a smaller and different violation, is filed separately.)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions