Prerequisites
- Python 3.9+
- Node.js 18+ (for bridge.js)
- Agent MCP Studio at agentmcp.studio
Step-by-Step Setup
-
Install dependencies
pip install langchain-mcp-adapters langgraph langchain-anthropic
-
Start bridge.js
Open the studio → Settings → MCP Relay Bridge → copy URL → click Connect. Then:
curl -O https://agentmcp.studio/bridge.js && npm install ws # Keep running in a terminal: node bridge.js wss://agentmcp.studio/api/relay/YOUR-UUID
-
Load MCP tools in Python
import asyncio from langchain_mcp_adapters.client import MultiServerMCPClient from langgraph.prebuilt import create_react_agent from langchain_anthropic import ChatAnthropic async def main(): async with MultiServerMCPClient( { "agent-mcp-studio": { "command": "node", "args": [ "/path/to/bridge.js", "wss://agentmcp.studio/api/relay/YOUR-UUID" ], "transport": "stdio", } } ) as client: tools = client.get_tools() model = ChatAnthropic(model="claude-3-5-sonnet-20241022") agent = create_react_agent(model, tools) result = await agent.ainvoke({ "messages": [{"role": "user", "content": "Run the fetch_webpage tool on example.com"}] }) print(result["messages"][-1].content) asyncio.run(main())
LangGraph Multi-Agent Pattern
In a LangGraph multi-agent setup, you can have specialized nodes that call specific MCP tools and route results to other agents:
from langgraph.graph import StateGraph, MessagesState
# Each node can call different MCP tools
builder = StateGraph(MessagesState)
builder.add_node("data_agent", data_agent) # uses query_database tool
builder.add_node("web_agent", web_agent) # uses fetch_webpage tool
builder.add_node("coordinator", coordinator)
# ... connect nodes
Frequently Asked Questions
Use the langchain-mcp-adapters package. It provides MultiServerMCPClient which connects to any MCP server (including Agent MCP Studio via bridge.js) and converts MCP tools to LangChain-compatible BaseTool objects.
For stdio transport (bridge.js), LangChain launches bridge.js as a subprocess. For SSE/HTTP transport, LangChain can connect directly to an HTTP endpoint. Agent MCP Studio uses the relay bridge (stdio via bridge.js).
Yes — MCP tools loaded via langchain-mcp-adapters work seamlessly in LangGraph agents. You can bind them to any LangGraph create_react_agent or custom graph node that calls tools.
Any LLM with .bind_tools() support in LangChain works — OpenAI GPT-4o, Anthropic Claude, Google Gemini, Mistral, and most Ollama models. LangChain handles tool call parsing for each provider.
With langchain-mcp-adapters: client = MultiServerMCPClient({"studio": {"command": "node", "args": ["bridge.js", "wss://..."]}}) then tools = await client.get_tools(). These are standard LangChain BaseTool instances.