Skip to content

MCP serverInfo.version reports SDK version (1.27.0) instead of mm --version (0.1.23) #383

@memtomem

Description

@memtomem

Problem

The MCP server reports a serverInfo.version that does not match the installed package version. Reproduction on memtomem==0.1.23:

mm --version
# -> memtomem 0.1.23

# Send an MCP initialize RPC:
{
  echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"0.1"}}}'
  sleep 2
} | uvx --from memtomem memtomem-server

Response (truncated):

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "protocolVersion": "2025-06-18",
    "serverInfo": {
      "name": "memtomem",
      "version": "1.27.0"
    },
    ...
  }
}

"version": "1.27.0" — this is almost certainly the FastMCP / mcp SDK version that was left as the default, not the memtomem package version.

Why it matters

  • Any external consumer that keys off serverInfo.version (monitoring, client telemetry, error reports) gets misleading data
  • Two users comparing notes ("I'm on 1.27.0" vs "I'm on 0.1.23") have no way to know they're looking at different fields
  • Diverges from the implicit contract that serverInfo.version is the server application's version, not the transport library's

Suggested fix

In the Server(...) / FastMCP(...) construction, pass version=memtomem.__version__ (or read from package metadata). Usually a one-liner change.

Repro context

Fresh install, 2026-04-22. uvx --from memtomem memtomem-server from memtomem==0.1.23 on PyPI.

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