Skip to content

[Bug] --mcp-stdio initialize response returns protocolVersion 2025-06-18 regardless of client-requested version, causing modern MCP clients to disconnect #3429

@sdasari-mdvip

Description

@sdasari-mdvip

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

  1. Start DAB with --mcp-stdio.
  2. 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}
  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/

Metadata

Metadata

Assignees

No one assigned

    Labels

    criCustomer Reported issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions