The Error
MCP protocol version mismatch: client v2024-11-05, server v2024-09-01
The Fix
# Update the MCP server SDK to match the client's expected version
cd your-mcp-server/
npm update @modelcontextprotocol/sdk
# Or install the specific version that supports the protocol:
npm install @modelcontextprotocol/sdk@latest
Why This Works
The Model Context Protocol uses versioned handshakes. Claude Code’s MCP client advertises its protocol version during initialization. If the server responds with an older protocol version, the client rejects the connection because message formats and capabilities differ between versions. Updating the server SDK brings it to the same protocol version the client expects.
If That Doesn’t Work
# Check what protocol version your server is advertising
grep -r "protocolVersion\|protocol_version" your-mcp-server/node_modules/@modelcontextprotocol/
# If using a custom server, update the version in your implementation:
# In your server initialization code, set:
# protocolVersion: "2024-11-05"
# Or downgrade Claude Code if you cannot update the server:
npm install -g @anthropic-ai/claude-code@previous-version
Pin both client and server to compatible versions if you cannot update the server-side dependency.
Prevention
Add to your CLAUDE.md:
Pin MCP server SDK versions explicitly in package.json. When updating Claude Code, also update all MCP server dependencies. Check protocol compatibility in the MCP changelog before upgrading either side.