LangGraph Coding Agent Team
LangGraph Coding Agent Team with MCP
This project implements a small team of coding agents using LangGraph and the Model Context Protocol (MCP). The agents use MCP servers to provide tools and capabilities through a unified gateway.
The overall objective of this agent team is to take requirements and code context and create multiple implementations of proposed features; human operators can then choose their preferred approach and proceed, discarding the others.
This project originated from the Anthropic MCP Hackathon in NYC on 12/11/2024 and has since evolved into its own standalone project.
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:
- GitHub Server: Repo operations (read, write, list, search, create branch, create PR, etc.)
- Additional servers can be added for more capabilities
-
Coding Agents: There are three agents that collaborate to accomplish coding tasks:
- Orchestrator: Gathers context from human messages and uses MCP servers to access Linear and GitHub. Delegates to planner and coder as needed.
- Planner: Takes requirements and code context and creates a plan with multiple implementation suggestions. Does not use MCP.
- Coder: Takes code context and proposed implementations and implements all of them on separate GitHub branches.
Getting Started
1. Install Dependencies
## Install the agent package
pip install -e .
## Install the gateway package
cd gateway
pip install -e .
cd ..
2. Configure Environment Variables
The agent supports multiple LLM providers through environment variables:
## LLM Configuration - supports multiple providers:
LLM_MODEL=provider/model-name
## Supported providers and example models:
## - Anthropic: anthropic/claude-3-5-sonnet-20240620
## - OpenAI: openai/gpt-4
## - OpenRouter: openrouter/openai/gpt-4o-mini
## - Google: google/gemini-1.5-pro
## API Keys for different providers
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
OPENROUTER_API_KEY=your_openrouter_api_key
GOOGLE_API_KEY=your_google_api_key
## OpenRouter Configuration (if using OpenRouter)
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
3. 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.
4. Start the Gateway Server
cd gateway
python -m mcp_gateway.server
The server will start on port 8808 by default.
5. 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"
}
}
6. Use the Agent
Open the folder in LangGraph Studio! The agent will automatically:
- Connect to the 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.