MCP in LangChain: Stateless Protocol, Elicitation, and More!

LangChain has revised its Model Context Protocol support, moving it from the separate langchain-mcp-adapters package into the main langchain package under the langchain.mcp namespace. The replacement is built on FastMCP and targets the 2026-07-28 MCP specification. The namespace requires langchain[mcp] version 1.4.0 or later and remains in beta, so the API may still change. Python support ships now, with TypeScript to follow.
The new specification replaces the session-based protocol with a stateless core. Previously each MCP call opened a session, the server returned a session ID, and later requests had to carry it, pinning a client to the server instance that issued it. Running remote servers at scale therefore required sticky routing and a shared session store. With the stateless core there is nothing left to pin, so a redeploy no longer kills live sessions.
Two capabilities follow from that change and are now in langchain.mcp. Elicitation, MCP's human-in-the-loop mechanism where a tool pauses to ask the caller for something like delete confirmation or a missing parameter, becomes a retry-able round surfaced as a LangGraph interrupt; it needs only a checkpointer so the paused run has somewhere to wait. Tool lists become cacheable because a server can state how long its catalog stays fresh. Passing cache=True to the FastMCP client enables an in-memory cache that respects those hints, and list_tools(cache_mode="use") serves a cached catalog while the TTL holds.
FastMCP handles transports, authentication, connection management and protocol negotiation, trying the new protocol per connection and falling back to the old handshake, so servers on either spec work. MultiServerMCPClient collapses into a single MCPAdapter class, and a migration guide maps the old package's features to replacements. A ClientGroup gives each server its own connection and credentials, and tool names are prefixed with their server so two search tools arrive as billing_search and docs_search. Auth options include bearer tokens, OAuth 2.1, machine-to-machine credentials, CIMD or any httpx2.Auth; transports include streamable HTTP, stdio and in-memory. A FastMCP instance is itself a valid adapter target, so an agent can run against a server in-process without a subprocess or socket. Installation uses pip install "langchain[mcp]".
Why it matters: developers using LangChain get MCP tool support without a second adapters package, and the stateless core removes the sticky routing and shared session store that scaling a remote MCP server previously required. Existing langchain-mcp-adapters users must migrate to the new namespace and the MCPAdapter class.
Based on reporting from the original publisher. Visit the source for full context and later updates.
Publisher excerpt
MCP support now lives in langchain.mcp, built on FastMCP for the 2026-07-28 spec, with elicitation handled as a LangGraph interrupt and tool lists cached.