finds.dev← search

// the find

langchain-ai/langchain-mcp-adapters

★ 3,588 · Python · MIT · updated Jun 2026

LangChain 🔌 MCP

A thin adapter layer that converts MCP tools into LangChain-compatible tools, letting you plug any MCP server into a LangGraph agent without writing your own marshaling code. Maintained by the LangChain team itself, so it tracks protocol changes. Primarily useful if you're already on LangChain/LangGraph and want to consume the growing MCP server ecosystem.

The MultiServerMCPClient handles stdio, SSE, and streamable HTTP transports in a single unified API — you swap a config key, not your integration code. Tool error handling is thoughtfully split: MCP execution errors (isError=True) surface as ToolMessages the model can reason about, while transport failures still raise, which is the right distinction. The library is small enough (six source files) that you can actually read it when something breaks, and the test suite runs real MCP servers rather than mocking the protocol. First-party ownership means it won't lag behind MCP spec changes the way community adapters do.

By default, MultiServerMCPClient opens a fresh ClientSession per tool invocation — that's a new subprocess or HTTP handshake every time a tool fires, which gets expensive fast in anything beyond a demo. The README buries this in a note rather than leading with it. The stdio transport spawning subprocesses in a web server context is genuinely dangerous and the README only adds a weak advisory comment rather than blocking or warning loudly. Resource and prompt support (the other two MCP primitives) are in the library but completely absent from the README, so most users won't know they exist. No built-in connection pooling or health checking for HTTP transports.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →