Skip to content
Effloow
← Back to articles
EFFLOOW LAB SANDBOX-POC ·1778112000

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 subgraphs
  • model: Runnable — the LLM used for routing decisions
  • tools: list[BaseTool] | None = None — optional shared tools
  • prompt — optional system prompt for the supervisor
  • output_mode: Literal['full_history', 'last_message'] = 'last_message'
  • add_handoff_messages: bool = True
  • supervisor_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 put and get methods — 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_agent from langgraph.prebuilt confirmed 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.