Moves to MCP SDK 2, supports modern and legacy servers
LangGraph's MCP adapter upgrades to MCP SDK 2, adds support for both modern and legacy servers, introduces LangGraph interrupt-based user input, and deprecates several 1.x APIs in favour of MCPAdapter.
Major Changes #11767 `56a7f0b` Thanks @byhow! - This release moves to MCP SDK 2, supports modern and legacy MCP servers in the same adapter, and lets servers ask users for input through LangGraph interrupts. It also changes tool names, configuration, and tool results. If you are upgrading from 1.x, review the changes below before updating. See the migration guide for more information on migrating. ### Update your client code Use `MCPAdapter` for new code: | 1.x API | Recommended API | | --------------------------------- | ---------------------- | | `MultiServerMCPClient` | `MCPAdapter` | | `mcpServers` or a flat server map | `{ servers: { ...
} }` | | `getTools(...)` | `listTools(...)` | | `initializeConnections()` | `listToolsets()` | | `ClientConfig` | `MCPAdapterConfig` | These older APIs still work but are deprecated. `listTools()` returns a flat list of executable LangChain tools; `listToolsets()` groups them by server. Read configuration from `adapter.config.servers`; the returned snapshot no longer has `mcpServers`, and changing it does not reconfigure the adapter. The adapter requires `@langchain/core ^1.2.6` and `@langchain/langgraph ^1.4.13`. It includes the MCP SDK…