Python Agent Framework · LangChain

Load Browser-Based MCP Tools into LangChain Agents

LangChain's official langchain-mcp-adapters package lets you load any MCP server's tools into a LangChain or LangGraph agent in one line of Python. Point it at Agent MCP Studio's relay to use your browser-built tools in production Python agents.

Share:

Prerequisites

Step-by-Step Setup

  1. Install dependencies

    pip install langchain-mcp-adapters langgraph langchain-anthropic
  2. Start bridge.js

    Open the studio → SettingsMCP 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
  3. 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.

Related Integrations