The published @notionhq/notion-mcp-server@2.2.1 package appears to initialize its MCP server with a stale hardcoded server metadata version.
Static evidence from the published package/source:
package.json declares the published package version:
{
"name": "@notionhq/notion-mcp-server",
"version": "2.2.1"
}
src/openapi-mcp-server/mcp/proxy.ts initializes the MCP protocol server with:
this.server = new Server({ name, version: '1.0.0' }, { capabilities: { tools: {} } })
src/init-server.ts constructs this proxy as the Notion API server:
const proxy = new MCPProxy('Notion API', openApiSpec)
The generated bin/cli.mjs bundle contains the same version:"1.0.0" in the corresponding MCP proxy constructor.
Expected behavior: the MCP serverInfo.version returned during client initialization should match the installed package version (2.2.1) or be generated from package metadata during build/release.
Observed behavior: the package version is 2.2.1, but the MCP server metadata version is hardcoded as 1.0.0.
Why it matters: MCP clients, registries, and setup diagnostics that read serverInfo.version can display stale version information even when the latest package is installed.
This is separate from CLI flag behavior such as notion-mcp-server --version: even a normal MCP client initialization path will receive the hardcoded server metadata from new Server({ name, version: '1.0.0' }).
Suggested fix: read the package version at build/runtime and pass it into MCPProxy, or generate the literal during build so serverInfo.version stays in sync with releases.
I found this by static inspection of the npm tarball/source only; no Notion API credentials or runtime API calls were used.
The published
@notionhq/notion-mcp-server@2.2.1package appears to initialize its MCP server with a stale hardcoded server metadata version.Static evidence from the published package/source:
package.jsondeclares the published package version:{ "name": "@notionhq/notion-mcp-server", "version": "2.2.1" }src/openapi-mcp-server/mcp/proxy.tsinitializes the MCP protocol server with:src/init-server.tsconstructs this proxy as the Notion API server:The generated
bin/cli.mjsbundle contains the sameversion:"1.0.0"in the corresponding MCP proxy constructor.Expected behavior: the MCP
serverInfo.versionreturned during client initialization should match the installed package version (2.2.1) or be generated from package metadata during build/release.Observed behavior: the package version is
2.2.1, but the MCP server metadata version is hardcoded as1.0.0.Why it matters: MCP clients, registries, and setup diagnostics that read
serverInfo.versioncan display stale version information even when the latest package is installed.This is separate from CLI flag behavior such as
notion-mcp-server --version: even a normal MCP client initialization path will receive the hardcoded server metadata fromnew Server({ name, version: '1.0.0' }).Suggested fix: read the package version at build/runtime and pass it into
MCPProxy, or generate the literal during build soserverInfo.versionstays in sync with releases.I found this by static inspection of the npm tarball/source only; no Notion API credentials or runtime API calls were used.