#35306 Support mcp 2.x (Python SDK): pin blocks mcp 2.0.0
## Summary
`litellm` currently pins the MCP Python SDK to the 1.x line and cannot be installed alongside `mcp` 2.0.0 (released 2026-07-28). This issue tracks the breaking changes in `mcp` 2.0 that affect litellm.
### Current pin
`mcp>=1.28.1,<2.0` — `pyproject.toml:64` and `pyproject.toml:205` (in the `proxy` and `e2e-dev` dependency groups).
### Breaking changes in `mcp` 2.0 that affect litellm
Verified against the installed `mcp==2.0.0` SDK and litellm `main`:
1. **Lowlevel `@server.list_tools()` / `@server.call_tool()` decorators removed.** litellm builds an MCP server via `mcp.server.Server` and registers handlers with these decorators, which no longer exist in 2.0 (handlers must be passed via the `Server(...)` constructor's `on_list_tools=` / `on_call_tool=` params): - `litellm/proxy/_experimental/mcp_server/server.py:734` — `@server.list_tools()` - `litellm/proxy/_experimental/mcp_server/server.py:959` — `@server.call_tool()` - The server also uses `mcp.server.lowlevel.server.request_ctx` throughout (`server.py:743, 972, 1137, 1195, 1231, 1274, 1318`), which should be re-verified against 2.0's request-context handling.
2. **camelCase attribute reads on `mcp.ty…