← Back to articles
Langgraph Mcp Poc
Evidence notes document the bounded local or source-based checks behind an Effloow article. They are not product endorsements, legal advice, or benchmark claims.
Objective
Verify that langchain-mcp-adapters and langgraph-supervisor can be installed and used to build a supervisor multi-agent system that connects agents to MCP tool servers.
Environment
- OS: macOS Darwin 24.6.0
- Python: 3.12
- Shell: zsh
Commands Run
Package Installation
pip3 install langchain-mcp-adapters==0.2.2 langgraph-supervisor==0.0.31
Output (relevant lines):
Successfully installed langchain-mcp-adapters-0.2.2 langgraph-supervisor-0.0.31 mcp-1.27.0 pydantic-settings-2.14.0 python-multipart-0.0.27
Packages Already Present
langgraph==1.1.10 (pre-installed)
langchain-core==1.3.2 (pre-installed)
Installed Versions (final state)
| Package | Version |
|---|---|
| langgraph | 1.1.10 |
| langchain-core | 1.3.2 |
| langchain-mcp-adapters | 0.2.2 |
| langgraph-supervisor | 0.0.31 |
| mcp | 1.27.0 |
API Surface Verification
create_supervisor — 17 parameters confirmed
Key parameters (from inspect.signature):
agents: list[Pregel]— specialist agent subgraphsmodel: Runnable— the LLM used for routing decisionstools: list[BaseTool] | None = None— optional shared toolsprompt— optional system prompt for the supervisoroutput_mode: Literal['full_history', 'last_message'] = 'last_message'add_handoff_messages: bool = Truesupervisor_name: str = 'supervisor'
Returns: StateGraph (must be compiled with .compile(checkpointer=...))
MultiServerMCPClient — connection type matrix
Supported transport types verified:
StdioConnection— local subprocess (good for dev/test)SSEConnection— HTTP/SSE (production-grade, remote servers)StreamableHttpConnection— streamable HTTP (latest transport, preferred for server environments)WebsocketConnection— WebSocket (bidirectional)
FastMCP (from mcp.server.fastmcp)
- Server creation confirmed:
FastMCP('server-name') - Tool registration via
@mcp_app.tool()decorator - Default paths:
sse_path='/sse',streamable_http_path='/mcp',port=8000
MemorySaver
- Confirmed as
langgraph.checkpoint.memory.InMemorySaver - Has
putandgetmethods — works as checkpointer for state persistence
What Worked
- All packages install cleanly without conflicts
- Import chain:
langchain_mcp_adapters.client.MultiServerMCPClient→ OK - Import chain:
langgraph_supervisor.create_supervisor→ OK - Import chain:
mcp.server.fastmcp.FastMCP→ OK create_react_agentfromlanggraph.prebuiltconfirmed at:langgraph.prebuilt.chat_agent_executor- FastMCP server creates correctly; tool registration via
@mcp_app.tool()confirmed working
What Was Not Run
- Full end-to-end supervisor execution with LLM calls (requires ANTHROPIC_API_KEY or OPENAI_API_KEY)
- Actual HTTP MCP server startup and SSE connection (requires running process)
- Multi-agent conversation trace (requires LLM API key)
Limitations
- API key not available in sandbox → LLM routing calls were not executed
- No live MCP server was spun up (would need a port-available subprocess)
- Production checkpointing (PostgreSQL, Redis) not tested — only MemorySaver
Conclusion
The full package chain installs cleanly on Python 3.12 macOS. API surfaces match documented patterns. The code examples in the article are based on verified package signatures and confirmed import paths. End-to-end LLM execution is not part of this PoC due to API key constraints; the article clearly attributes all execution-level claims to official documentation and community guides.