Summary
claude-agent-sdk==0.2.128 requires mcp>=1.23.0,<2.0.0, so an application that must run the now-stable mcp==2.0.0 server cannot install the Agent SDK in the same environment. Overriding the constraint is not a working workaround: the in-process bridge still targets MCP v1 low-level registration and dispatch APIs.
Minimal reproduction
from claude_agent_sdk import create_sdk_mcp_server, tool
@tool("echo", "Echo text", {"text": str})
async def echo(args):
return {"content": [{"type": "text", "text": args["text"]}]}
create_sdk_mcp_server(name="demo", tools=[echo])
In a Python 3.13 environment with mcp==2.0.0 and claude-agent-sdk==0.2.128 installed with dependencies overridden, this fails with:
AttributeError: Server object has no attribute list_tools
The next incompatibility is in Query._handle_sdk_mcp_request, which accesses server.request_handlers; MCP v2 exposes constructor handlers and get_request_handler() instead.
Requested direction
Please migrate the in-process SDK MCP bridge to MCP v2 public APIs and then relax the upper bound. A supported solution could construct mcp.server.Server with on_list_tools / on_call_tool, and route through the v2 public handler or client/transport API instead of request_handlers.
This blocks applications that host a standards-current MCP v2 HTTP server and also use Agent SDK in-process tools in the same runtime. A compatibility timeline or recommended supported isolation pattern would also help.
Summary
claude-agent-sdk==0.2.128requiresmcp>=1.23.0,<2.0.0, so an application that must run the now-stablemcp==2.0.0server cannot install the Agent SDK in the same environment. Overriding the constraint is not a working workaround: the in-process bridge still targets MCP v1 low-level registration and dispatch APIs.Minimal reproduction
In a Python 3.13 environment with
mcp==2.0.0andclaude-agent-sdk==0.2.128installed with dependencies overridden, this fails with:The next incompatibility is in
Query._handle_sdk_mcp_request, which accessesserver.request_handlers; MCP v2 exposes constructor handlers andget_request_handler()instead.Requested direction
Please migrate the in-process SDK MCP bridge to MCP v2 public APIs and then relax the upper bound. A supported solution could construct
mcp.server.Serverwithon_list_tools/on_call_tool, and route through the v2 public handler or client/transport API instead ofrequest_handlers.This blocks applications that host a standards-current MCP v2 HTTP server and also use Agent SDK in-process tools in the same runtime. A compatibility timeline or recommended supported isolation pattern would also help.