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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions