You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Same as the TypeScript counterpart (#633): MCP 2026-07-28 support only exists in mcp 2.x. On Python the situation is sharper because 2.x shipped under the same PyPI name as a breaking release (camelCase → snake_case attributes) — #631 caps us to <2 as a hotfix, which also locks us out of the new protocol until this issue is done.
Proposal
Dual-major, auto-detected, additive:
Detect the installed major at import/connect time (importlib.metadata.version("mcp")).
2.x installed → new mcp.client.Client(server, mode="auto") path: the SDK probes server/discover and falls back to the legacy handshake, so modern and legacy servers both work. Headers and ttlMs caching are SDK-internal.
Small attribute-normalization helper so shared code reads both shapes (inputSchema/input_schema, isError/is_error, structuredContent/structured_content).
Problem
Same as the TypeScript counterpart (#633): MCP 2026-07-28 support only exists in
mcp2.x. On Python the situation is sharper because 2.x shipped under the same PyPI name as a breaking release (camelCase → snake_case attributes) — #631 caps us to<2as a hotfix, which also locks us out of the new protocol until this issue is done.Proposal
Dual-major, auto-detected, additive:
importlib.metadata.version("mcp")).ClientSession+initialize()path, byte-identical to today.mcp.client.Client(server, mode="auto")path: the SDK probesserver/discoverand falls back to the legacy handshake, so modern and legacy servers both work. Headers andttlMscaching are SDK-internal.inputSchema/input_schema,isError/is_error,structuredContent/structured_content).<2cap from [Python] agent-squad[mcp] broken by mcp 2.0.0 release — cap dependency to <2 #631:mcp>=1.0.0works again on both majors.MCPToolProvider,MCPServerConfig, format methods,tool_handler,disconnectkeep their exact signatures and behavior.Out of scope: Tasks extension (not implemented in mcp 2.0.0 at all), OAuth/CIMD, MRTR elicitation/sampling callbacks (separate issue if users ask).
Depends on #631 and #632.