Skip to content

MCP spec conformance: 1 requirement(s) violated (via @hasmcp/mcp-spec-test) — spec 2025-11-25 #283

Description

@hasmcp-dev

Companion issue to the 2026-07-28 report filed separately (results differ per revision, so filing individually rather than merging). When ctx-mcp-server is tested against the 2025-11-25 revision, the one concrete violation is that the server always negotiates down to 2024-11-05 at handshake regardless of what the client offers, even though it also advertises 2025-11-25 and 2026-07-28 support. That mismatch then makes 13 further checks unverifiable, since the suite can't test 2025-11-25-specific behavior against a session that settled on 2024-11-05.

Conformance report

MCP 2025-11-25 conformance report

Verdict: not conformant — 1 requirement violated.

Target uvx --from claude-ctx ctx-mcp-server
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
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 — all because the negotiated protocol version (2024-11-05) doesn't match the revision under test.

Capability methods

  • tools/list returns schema-conformant tools
  • tools/call on an unknown tool is an error, not a crash
  • tools/call returns a schema-conformant CallToolResult
  • prompts/list returns schema-conformant prompts
  • prompts/get returns messages with a role and content
  • resources/list returns schema-conformant resources
  • resources/templates/list returns schema-conformant templates
  • resources/read returns contents for every sampled resource
  • resources/read on an unknown uri is an error
  • following nextCursor terminates and does not repeat a page
  • an invalid pagination cursor is rejected (SHOULD)

Version negotiation

  • initialize returns the schema-required fields
  • the handshake settles on the revision 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 "uvx --from claude-ctx ctx-mcp-server" --spec-version 2025-11-25

Without Docker (npx):

npx @hasmcp/mcp-spec-test@latest -c "uvx --from claude-ctx ctx-mcp-server" --spec-version 2025-11-25

This issue was filed as part of an automated MCP spec conformance sweep across public MCP server repos. If this doesn't apply, please feel free to close it.

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