About LangGraph ReAct Agent with MCP
A ReAct agent template using LangGraph and MCP. The agent connects to an MCP gateway that manages multiple MCP servers, automatically discovering and using their tools.
Key features
- 01MCP gateway managing multiple servers
- 02Filesystem and knowledge graph tools
- 03Automatic tool discovery and integration
- 04ReAct reasoning loop
Use cases
- 01Extend agent capabilities through MCP services
- 02Automate file operations and knowledge management
- 03Coordinate multi-service workflows
MCP support
The client connects to a local MCP gateway that manages multiple MCP servers, automatically discovering and integrating tools from these services for the ReAct agent.
Details
From the project READMELangGraph ReAct Agent with MCP
This template showcases a ReAct agent implemented using LangGraph and the Model Context Protocol (MCP). The agent uses MCP servers to provide tools and capabilities through a unified gateway.
Architecture
The system consists of three main components:
-
MCP Gateway Server: A server that:
- Manages multiple MCP server processes
- Provides a unified API for accessing tools
- Handles communication with MCP servers
- Exposes tools through a simple HTTP interface
-
MCP Servers: Individual servers that provide specific capabilities:
- Filesystem Server: File operations (read, write, list, search)
- Memory Server: Knowledge graph operations (entities, relations, queries)
- Additional servers can be added for more capabilities
-
ReAct Agent: The agent that:
- Connects to the MCP gateway
- Discovers available tools
- Uses tools to accomplish tasks
- Combines capabilities from multiple servers
Getting Started
1. Install Dependencies
# Install the agent package
pip install -e .
# Install the gateway package
cd gateway
pip install -e .
cd ..
2. Configure MCP Servers
The gateway server is configured through gateway/config.json. By default, it starts two MCP servers:
{
"mcp": {
"servers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/directory"
]
},
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}
}
You can add more servers from the official MCP servers repository.
3. Start the Gateway Server
cd gateway
python -m mcp_gateway.server
The server will start on port 8808 by default.
4. Configure the Agent
The agent's connection to the gateway is configured in langgraph.json:
{
"dependencies": ["."],
"graphs": {
"agent": "./src/react_agent/graph.py:graph"
},
"env": ".env",
"mcp": {
"gateway_url": "http://localhost:8808"
}
}
5. Use the Agent
Open your app in LangGraph! Install guide here.
This will open a new browser window with the agent running. The agent will automatically:
- Connect to the local gateway server
- Discover available tools
- Make tools available for use in conversations
Available Tools
The agent has access to tools from both MCP servers:
Filesystem Tools
read_file: Read file contentswrite_file: Create or update fileslist_directory: List directory contentssearch_files: Find files matching patterns- And more...
Memory Tools
create_entities: Add entities to knowledge graphcreate_relations: Link entities togethersearch_nodes: Query the knowledge graph- And more...
Development
Adding New MCP Servers
- Find a server in the MCP servers repository
- Add its configuration to
gateway/config.json - The agent will automatically discover its tools
Customizing the Agent
- Modify the system prompt in
src/react_agent/prompts.py - Update the agent's reasoning in
src/react_agent/graph.py - Add new capabilities by including more MCP servers
Documentation
License
This project is licensed under the MIT License - see the LICENSE file for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.