Agent-MCP
š Advanced Tool Notice: This framework is designed for experienced AI developers who need sophisticated multi-agent orchestration capabilities. Agent-MCP requires familiarity with AI coding workflows, MCP protocols, and distributed systems concepts. We're actively working to improve documentation and ease of use. If you're new to AI-assisted development, consider starting with simpler tools and returning when you need advanced multi-agent capabilities.
š¬ Join the Community: Connect with us on Discord to get help, share experiences, and collaborate with other developers building multi-agent systems.
Multi-Agent Collaboration Protocol for coordinated AI software development.
<div align="center"> <img src="assets/images/agent-network-viz.png" alt="Agent Network Visualization" width="600"> </div>Think Obsidian for your AI agents - a living knowledge graph where multiple AI agents collaborate through shared context, intelligent task management, and real-time visualization. Watch your codebase evolve as specialized agents work in parallel, never losing context or stepping on each other's work.
Why Multiple Agents?
Beyond the philosophical issues, traditional AI coding assistants hit practical limitations:
- Context windows overflow on large codebases
- Knowledge gets lost between conversations
- Single-threaded execution creates bottlenecks
- No specialization - one agent tries to do everything
- Constant rework from lost context and confusion
The Multi-Agent Solution
Agent-MCP transforms AI development from a single assistant to a coordinated team:
<div align="center"> <img src="assets/images/dashboard-overview.png" alt="Multi-Agent Collaboration Network" width="800"> </div>Real-time visualization shows your AI team at work - purple nodes represent context entries, blue nodes are agents, and connections show active collaborations. It's like having a mission control center for your development team.
Core Capabilities
Parallel Execution
Multiple specialized agents work simultaneously on different parts of your codebase. Backend agents handle APIs while frontend agents build UI components, all coordinated through shared memory.
Persistent Knowledge Graph
<div align="center"> <img src="assets/images/memory-bank.png" alt="Memory Bank Interface" width="800"> </div>Your project's entire context lives in a searchable, persistent memory bank. Agents query this shared knowledge to understand requirements, architectural decisions, and implementation details. Nothing gets lost between sessions.
Intelligent Task Management
<div align="center"> <img src="assets/images/agent-fleet.png" alt="Agent Fleet Management" width="800"> </div>Monitor every agent's status, assigned tasks, and recent activity. The system automatically manages task dependencies, prevents conflicts, and ensures work flows smoothly from planning to implementation.
Quick Start
Python Implementation (Recommended)
# Clone and setup
git clone https://github.com/rinadelph/Agent-MCP.git
cd Agent-MCP
# Check version requirements
python --version # Should be >=3.10
node --version # Should be >=18.0.0
npm --version # Should be >=9.0.0
# If using nvm for Node.js version management
nvm use # Uses the version specified in .nvmrc
# Configure environment
cp .env.example .env # Add your OpenAI API key
uv venv
uv install
# Start the server
uv run -m agent_mcp.cli --port 8080 --project-dir path-to-directory
# Launch dashboard (recommended for full experience)
cd agent_mcp/dashboard && npm install && npm run devNode.js/TypeScript Implementation (Alternative)
# Clone and setup
git clone https://github.com/rinadelph/Agent-MCP.git
cd Agent-MCP/agent-mcp-node
# Install dependencies
npm install
# Configure environment
cp .env.example .env # Add your OpenAI API key
# Start the server
npm run server
# Or use the built version
npm run build
npm start
# Or install globally
npm install -g agent-mcp-node
agent-mcp --port 8080 --project-dir path-to-directoryMCP Integration Guide
What is MCP?
The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect to external data sources and tools. Agent-MCP leverages MCP to provide seamless integration with various development tools and services.
Running Agent-MCP as an MCP Server
Agent-MCP can function as an MCP server, exposing its multi-agent capabilities to MCP-compatible clients like Claude Desktop, Cline, and other AI coding assistants.
Quick MCP Setup
# 1. Install Agent-MCP
uv venv
uv install
# 2. Start the MCP server
uv run -m agent_mcp.cli --port 8080
# 3. Configure your MCP client to connect to:
# HTTP: http://localhost:8000/mcp
# WebSocket: ws://localhost:8000/mcp/wsMCP Server Configuration
Create an MCP configuration file (mcp_config.json):
{
"server": {
"name": "agent-mcp",
"version": "1.0.0"
},
"tools": [
{
"name": "create_agent",
"description": "Create a new specialized AI agent"
},
{
"name": "assign_task",
"description": "Assign tasks to specific agents"
},
{
"name": "query_project_context",
"description": "Query the shared knowledge graph"
},
{
"name": "manage_agent_communication",
"description": "Handle inter-agent messaging"
}
],
"resources": [
{
"name": "agent_status",
"description": "Real-time agent status and activity"
},
{
"name": "project_memory",
"description": "Persistent project knowledge graph"
}
]
}Using Agent-MCP with Claude Desktop
-
Add to Claude Desktop Config:
Open
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or equivalent:{ "mcpServers": { "agent-mcp": { "command": "uv", "args": ["run", "-m", "agent_mcp.cli", "--port", "8080"], "env": { "OPENAI_API_KEY": "your-openai-api-key" } } } } -
Restart Claude Desktop to load the MCP server
-
Verify Connection: Claude should show "š agent-mcp" in the conversation
MCP Tools Available
Once connected, you can use these MCP tools directly in Claude:
Agent Management
create_agent- Spawn specialized agents (backend, frontend, testing, etc.)list_agents- View all active agents and their statusterminate_agent- Safely shut down agents
Task Orchestration
assign_task- Delegate work to specific agentsview_tasks- Monitor task progress and dependenciesupdate_task_status- Track completion and blockers
Knowledge Management
ask_project_rag- Query the persistent knowledge graphupdate_project_context- Add architectural decisions and patternsview_project_context- Access stored project information
Communication
send_agent_message- Direct messaging between agentsbroadcast_message- Send updates to all agentsrequest_assistance- Escalate complex issues
Advanced MCP Configuration
Custom Transport Options:
# HTTP with custom port
uv run -m agent_mcp.cli --port 8080
# WebSocket with authentication
uv run -m agent_mcp.cli --port 8080 --auth-token your-secret-token
# Unix socket (Linux/macOS)
uv run -m agent_mcp.cli --port 8080Environment Variables:
export AGENT_MCP_HOST=0.0.0.0 # Server host
export AGENT_MCP_PORT=8000 # Server port
export AGENT_MCP_LOG_LEVEL=INFO # Logging level
export AGENT_MCP_PROJECT_DIR=/your/project # Default project directory
export AGENT_MCP_MAX_AGENTS=10 # Maximum concurrent agentsMCP Client Examples
Python Client
import asyncio
from mcp import Client
async def main():
async with Client("http://localhost:8000/mcp") as client:
# Create a backend agent
result = await client.call_tool("create_agent", {
"role": "backend",
"specialization": "API development"
})
# Assign a task
await client.call_tool("assign_task", {
"agent_id": result["agent_id"],
"task": "Implement user authentication endpoints"
})
# Query project context
context = await client.call_tool("ask_project_rag", {
"query": "What's our current database schema?"
})
print(context)
asyncio.run(main())JavaScript Client
import { MCPClient } from '@modelcontextprotocol/client';
const client = new MCPClient('http://localhost:8000/mcp');
async function createAgent() {
await client.connect();
const agent = await client.callTool('create_agent', {
role: 'frontend',
specialization: 'React components'
});
console.log('Created agent:', agent.agent_id);
await client.disconnect();
}
createAgent().catch(console.error);Troubleshooting MCP Connection
Connection Issues:
# Check if MCP server is running
curl http://localhost:8000/mcp/health
# Verify WebSocket connection
wscat -c ws://localhost:8000/mcp/ws
# Check server logs
uv run -m agent_mcp.cli --port 8080 --log-level DEBUGCommon Issues:
- Port conflicts: Change port with
--portflag - Permission errors: Ensure OpenAI API key is set
- Client timeout: Increase timeout in client configuration
- Agent limit reached: Check active agent count with
list_agents
Integration Examples
VS Code with MCP: Use the MCP extension to integrate Agent-MCP directly into your editor workflow.
Terminal Usage:
# Quick task assignment via curl
curl -X POST http://localhost:8000/mcp/tools/assign_task \
-H "Content-Type: application/json" \
-d '{"task": "Add error handling to API endpoints", "agent_role": "backend"}'CI/CD Integration:
# GitHub Actions example
- name: Run Agent-MCP Code Review
run: |
uv run -m agent_mcp.cli --port 8080 --daemon
curl -X POST localhost:8000/mcp/tools/assign_task \
-d '{"task": "Review PR for security issues", "agent_role": "security"}'How It Works: Breaking Complexity into Simple Steps
graph LR
A[Step 1] --> B[Step 2] --> C[Step 3] --> D[Step 4] --> E[Done!]
style A fill:#4ecdc4,color:#fff
style E fill:#ff6b6b,color:#fffEvery task can be broken down into linear steps. This is the core insight that makes Agent-MCP powerful.
The Problem with Complex Tasks
graph TD
A["Build User Authentication"] -->|Single Agent Tries Everything| B{???}
B --> C[Database?]
B --> D[API?]
B --> E[Frontend?]
B --> F[Security?]
B --> G[Tests?]
C -.->|Confused| H[Incomplete Implementation]
D -.->|Overwhelmed| H
E -.->|Context Lost| H
F -.->|Assumptions| H
G -.->|Forgotten| H
style A fill:#ff6b6b,color:#fff
style H fill:#666,color:#fffThe Agent-MCP Solution
graph TD
A["Build User Authentication"] -->|Break Down| B[Linear Tasks]
B --> C["Agent 1: Database"]
B --> D["Agent 2: API"]
B --> E["Agent 3: Frontend"]
C --> C1[Create users table]
C1 --> C2[Add indexes]
C2 --> C3[Create sessions table]
D --> D1[POST /register]
D1 --> D2[POST /login]
D2 --> D3[POST /logout]
E --> E1[Login Form]
ā¦