Skip to main content
Glama
README.md
[![Archimedes Trust Report — VERIFIED 92/100](https://img.shields.io/badge/Archimedes_Trust-VERIFIED_92%2F100-10B981?style=flat-square)](https://archimedes.market/assets/312e3c99-f858-44e7-ba2c-fcaf408825a8)

> Verified asset on [**Archimedes Market**](https://archimedes.market). View the full 4-dimension Trust Report (security · quality · license · complexity) and the curated catalog on the [asset page](https://archimedes.market/assets/312e3c99-f858-44e7-ba2c-fcaf408825a8).

---

# MCP LangChain Bridge

Expose any LangChain chain, agent, or tool as an MCP server. The point is to take orchestration logic that already exists in LangChain — RAG chains, agentic workflows, custom tools — and make it agent-callable from Claude Desktop, Cursor, or any MCP client.

## What you get

- **Auto-schema:** each LangChain tool's `args_schema` becomes the MCP tool's input schema. Pydantic v2 generation built in.
- **Retry policies:** configurable retry/backoff per tool, with circuit-breaker behavior on persistent failures.
- **Timeouts:** per-tool execution timeout, configurable via decorator or env var.
- **Tracing:** OpenTelemetry spans on every tool call. Drops into LangSmith if `LANGSMITH_API_KEY` is set.
- **Output validation:** results validated against Pydantic schemas before returning to the agent.

## Usage

```python
from mcp_langchain_bridge import bridge
from langchain_community.tools import DuckDuckGoSearchRun, WikipediaQueryRun

server = bridge.create_server(
    name="research-tools",
    tools=[
        DuckDuckGoSearchRun(),
        WikipediaQueryRun(),
        # Any LangChain BaseTool subclass works
    ],
    retry={"max_attempts": 3, "backoff": "exponential"},
    timeout=30.0,
)

server.run()
```

## Why this matters

LangChain has the largest tool ecosystem in the agent space. MCP has the cleanest agent-host integration. Bridging the two avoids rewriting in either direction:

- You don't need to port your retrieval chain to native MCP tool definitions
- You don't need to abandon Claude Desktop because your existing stack is LangChain
- LangGraph state machines remain unchanged — the MCP layer wraps the entrypoint

## Limitations

- Streaming responses from chains are buffered into the MCP response (MCP spec doesn't yet support streaming for tool calls). Long-running chains should be checkpointed externally.
- LangChain custom callback handlers fire as expected, but UI updates targeted at notebook environments won't surface to the MCP client.

## License

MIT.