Summary
DAB 1.7.92 always returns "protocolVersion": "2025-06-18" in the MCP initialize response, even when the client requests a newer version such as "2025-11-25". Claude Code 2.1.98 (and likely other modern MCP clients) disconnect immediately when they receive a downgraded protocol version, because the MCP spec requires the client to disconnect if it cannot operate at the server's returned version.
Environment
- DAB version: 1.7.92
- OS: Windows 11 Enterprise
- Transport:
--mcp-stdio
- MCP client: Claude Code 2.1.98 (sends
protocolVersion: "2025-11-25")
Steps to Reproduce
- Start DAB with
--mcp-stdio.
- Send an
initialize request with protocolVersion: "2025-11-25":
{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"claude-code","version":"2.1.98"}},"id":1}
- Observe the response:
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":true},"logging":{}},"serverInfo":{"name":"SQL MCP Server","version":"1.7.92"}}}
DAB returns 2025-06-18 despite the client requesting 2025-11-25. Claude Code immediately closes the connection.
Expected Behavior
Per the MCP specification:
The server SHOULD respond with its most recent supported version that is ≤ the client's requested version.
If DAB supports 2025-06-18 but not 2025-11-25, it correctly responds with 2025-06-18. However, modern MCP clients are expected to accept a downgraded version — so the real issue is that DAB has not been updated to support 2025-11-25 yet, which is the current version required by Claude Code 2.x.
Updating DAB to support MCP protocol version 2025-11-25 would resolve the incompatibility.
Actual Behavior
DAB returns 2025-06-18 and Claude Code 2.1.98 disconnects, reporting ✗ Failed to connect.
Impact
DAB --mcp-stdio is non-functional with Claude Code 2.x out of the box. Users must run a protocol-version-patching proxy wrapper to use DAB as an MCP server with current tooling.
Workaround
Intercept DAB's initialize response and replace "2025-06-18" with "2025-11-25" before forwarding to the client. The rest of the protocol (tools/list, tool execution) works correctly after this patch.
Suggested Fix
Update DAB's MCP implementation to support MCP protocol version 2025-11-25 and return that version (or the client's requested version, whichever is lower) in the initialize response.
Tracking: MCP spec changelog for 2025-11-25 — https://spec.modelcontextprotocol.io/specification/
Summary
DAB 1.7.92 always returns
"protocolVersion": "2025-06-18"in the MCPinitializeresponse, even when the client requests a newer version such as"2025-11-25". Claude Code 2.1.98 (and likely other modern MCP clients) disconnect immediately when they receive a downgraded protocol version, because the MCP spec requires the client to disconnect if it cannot operate at the server's returned version.Environment
--mcp-stdioprotocolVersion: "2025-11-25")Steps to Reproduce
--mcp-stdio.initializerequest withprotocolVersion: "2025-11-25":{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"claude-code","version":"2.1.98"}},"id":1}{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":true},"logging":{}},"serverInfo":{"name":"SQL MCP Server","version":"1.7.92"}}}DAB returns
2025-06-18despite the client requesting2025-11-25. Claude Code immediately closes the connection.Expected Behavior
Per the MCP specification:
If DAB supports
2025-06-18but not2025-11-25, it correctly responds with2025-06-18. However, modern MCP clients are expected to accept a downgraded version — so the real issue is that DAB has not been updated to support2025-11-25yet, which is the current version required by Claude Code 2.x.Updating DAB to support MCP protocol version
2025-11-25would resolve the incompatibility.Actual Behavior
DAB returns
2025-06-18and Claude Code 2.1.98 disconnects, reporting✗ Failed to connect.Impact
DAB
--mcp-stdiois non-functional with Claude Code 2.x out of the box. Users must run a protocol-version-patching proxy wrapper to use DAB as an MCP server with current tooling.Workaround
Intercept DAB's
initializeresponse and replace"2025-06-18"with"2025-11-25"before forwarding to the client. The rest of the protocol (tools/list, tool execution) works correctly after this patch.Suggested Fix
Update DAB's MCP implementation to support MCP protocol version
2025-11-25and return that version (or the client's requested version, whichever is lower) in theinitializeresponse.Tracking: MCP spec changelog for 2025-11-25 — https://spec.modelcontextprotocol.io/specification/