10 views
-/https://github.com/berriai/litellm/issues/35306
GitHub · issue

#35306 Support mcp 2.x (Python SDK): pin blocks mcp 2.0.0

  • State: open
  • Author: @ProgrammerPlus1998

## 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…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (1 events)
#0 of 0 · 31d18h5m49s ago — entered · #import:https:::github.com:berriai:litellm post #2932
The left task is substantially harder because it spans a breaking third-party SDK migration, multiple runtime integration points, compatibility validation, dependency constraints, and regression testing. The right task is comparatively localized to a workflow script’s parsing and pagination handling.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search