https://github.com/madebyaris/agent-orchestration
Agent Orchestration: MCP server enabling multi-agent collaboration with shared memory, task queue, resource locks, Cursor rules, and AGENTS.md workflows.
https://github.com/madebyaris/agent-orchestration
agent-orchestration agents-md ai-agents automation cursor developer-tools mcp model-context-protocol multi-agent shared-memory tooling
Last synced: 19 days ago
JSON representation
Agent Orchestration: MCP server enabling multi-agent collaboration with shared memory, task queue, resource locks, Cursor rules, and AGENTS.md workflows.
- Host: GitHub
- URL: https://github.com/madebyaris/agent-orchestration
- Owner: madebyaris
- License: mit
- Created: 2026-01-04T05:42:37.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-01-10T06:04:42.000Z (about 1 month ago)
- Last Synced: 2026-01-11T00:56:03.429Z (about 1 month ago)
- Topics: agent-orchestration, agents-md, ai-agents, automation, cursor, developer-tools, mcp, model-context-protocol, multi-agent, shared-memory, tooling
- Language: TypeScript
- Homepage:
- Size: 142 KB
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Agent Orchestration
[](https://www.npmjs.com/package/agent-orchestration)
[](https://github.com/madebyaris/agent-orchestration/blob/main/LICENSE)
A Model Context Protocol (MCP) server that enables multiple AI agents to share memory, coordinate tasks, and collaborate effectively across IDEs and CLI tools.
## The Problem
When running multiple AI agents, they face critical coordination challenges:
1. **No Turn Awareness** - Agents don't know if it's their turn to act, leading to race conditions
2. **File-Based Prediction** - Agents predict state from files, not shared memory, causing stale reads
3. **Context Drift** - Parallel agents develop inconsistent understanding of the codebase
4. **No Agent Discovery** - Agents are unaware of other agents working on the same project
5. **Duplicate Work** - Multiple agents may attempt the same task simultaneously
6. **Conflicting Edits** - Without coordination, agents overwrite each other's changes
## Solution
This MCP server provides:
- **Shared Memory** - Agents can store and retrieve context, decisions, and findings
- **Task Queue** - Turn-based task execution with dependencies
- **Agent Discovery** - Agents can see who else is working on the project
- **Resource Locking** - Prevent concurrent access to files or resources
- **Coordination Status** - Real-time visibility into the orchestration state
- **Auto Context Sync** - Automatically updates `activeContext.md` for easy reference
## Compatibility
Works with any AI coding agent that supports MCP or [AGENTS.md](https://agents.md/):
- **OpenAI Codex**
- **Google Jules**
- **Cursor**
- **Aider**
- **Windsurf**
- **VS Code Copilot**
- **GitHub Copilot Coding Agent**
- **Devin**
- And many more!
## Quick Start
No installation required! Just use `npx`:
### For Any IDE/CLI (AGENTS.md)
```bash
# Navigate to your project
cd /path/to/your/project
# Initialize with AGENTS.md
npx agent-orchestration init
```
This creates `AGENTS.md` with full orchestration instructions that work with any AI coding agent.
### For Cursor IDE
```bash
# Navigate to your project
cd /path/to/your/project
# Initialize for Cursor (copies .cursor/rules/)
npx agent-orchestration init-cursor
```
This copies `.cursor/rules/` with Cursor-specific rules.
## CLI Commands
```bash
npx agent-orchestration init # Create AGENTS.md (works with any AI agent)
npx agent-orchestration init-cursor # Setup for Cursor IDE (.cursor/rules/)
npx agent-orchestration serve # Run the MCP server
npx agent-orchestration help # Show help
```
## MCP Server Setup
Add to your MCP configuration (e.g., `~/.cursor/mcp.json` for Cursor):
```json
{
"mcpServers": {
"agent-orchestration": {
"command": "npx",
"args": ["-y", "agent-orchestration", "serve"],
"env": {
"MCP_ORCH_SYNC_CONTEXT": "true"
}
}
}
}
```
The server automatically uses the current working directory as the project root.
### Start Your Session
Use the `bootstrap` tool to start:
```
bootstrap
```
This registers you, shows current focus, pending tasks, and recent decisions.
## Available Tools
### Session Management
| Tool | Description |
|------|-------------|
| `bootstrap` | **Start here!** Initialize session: register, get focus, tasks, decisions |
| `claim_todo` | **For sub-agents**: Register + create/claim a task in one call |
| `agent_whoami` | Get your current agent info (ID, name, role, status) |
### Agent Management
| Tool | Description |
|------|-------------|
| `agent_register` | Register this agent with the orchestration system |
| `agent_heartbeat` | Send a heartbeat to indicate agent is active |
| `agent_list` | List all registered agents |
| `agent_unregister` | Unregister this agent (releases all locks) |
### Shared Memory
| Tool | Description |
|------|-------------|
| `memory_set` | Store a value in shared memory |
| `memory_get` | Retrieve a value from shared memory |
| `memory_list` | List all keys in a namespace |
| `memory_delete` | Delete a value from shared memory |
### Task Management
| Tool | Description |
|------|-------------|
| `task_create` | Create a new task in the queue |
| `task_claim` | Claim a task to work on |
| `task_update` | Update task status or progress |
| `task_complete` | Mark a task as completed |
| `task_list` | List tasks with filters |
| `is_my_turn` | Check if work is available for you |
### Coordination
| Tool | Description |
|------|-------------|
| `lock_acquire` | Acquire a lock on a resource |
| `lock_release` | Release a held lock |
| `lock_check` | Check if a resource is locked |
| `coordination_status` | Get overall system status |
## Recommended Workflow
### Main Orchestrator Agent
```
1. bootstrap # Start session
2. memory_set current_focus "..." # Set project focus
3. task_create "Feature X" # Create tasks
4. task_create "Feature Y"
5. coordination_status # Monitor progress
```
### Sub-Agents (Spawned for Specific Work)
```
1. claim_todo "Feature X" # Register + claim in one call
2. lock_acquire "src/feature.ts" # Lock files before editing
3. [do the work]
4. task_complete "Done" # Complete the task
5. agent_unregister # Clean up
```
## Memory Namespaces
Use these namespaces for organization:
| Namespace | Purpose | Example Keys |
|-----------|---------|--------------|
| `context` | Current state and focus | `current_focus`, `current_branch` |
| `decisions` | Architectural decisions | `auth_strategy`, `db_choice` |
| `findings` | Analysis results | `perf_issues`, `security_audit` |
| `blockers` | Issues blocking progress | `api_down`, `missing_deps` |
## Configuration
### Environment Variables
| Variable | Description | Default |
|----------|-------------|---------|
| `MCP_ORCH_DB_PATH` | Path to SQLite database | `.agent-orchestration/orchestrator.db` |
| `MCP_ORCH_SYNC_CONTEXT` | Auto-sync activeContext.md | `false` |
| `MCP_ORCH_AGENT_NAME` | Default agent name | Auto-generated |
| `MCP_ORCH_AGENT_ROLE` | Default agent role | `sub` |
| `MCP_ORCH_CAPABILITIES` | Comma-separated capabilities | `code` |
## Architecture
```
┌─────────────────────────────────────────────────────────────┐
│ IDE / CLI Tool │
├─────────────┬─────────────┬─────────────┬─────────────┬─────┤
│ Main Agent │ Sub-Agent 1 │ Sub-Agent 2 │ Sub-Agent 3 │ ... │
└──────┬──────┴──────┬──────┴──────┬──────┴──────┬──────┴─────┘
│ │ │ │
└─────────────┴──────┬──────┴─────────────┘
│
┌───────▼───────┐
│ MCP Server │
│ (TypeScript) │
└───────┬───────┘
│
┌─────────────┼─────────────┐
│ │ │
┌───────▼───┐ ┌───────▼───┐ ┌───────▼───┐
│ Agents │ │ Tasks │ │ Memory │
│ Registry │ │ Queue │ │ Store │
└───────────┘ └───────────┘ └───────────┘
│ │ │
└─────────────┼─────────────┘
│
┌───────▼───────┐
│ SQLite │
│ (per-project)│
└───────────────┘
```
## AGENTS.md
This project follows the [AGENTS.md](https://agents.md/) format - a simple, open format for guiding AI coding agents used by over 60k open-source projects.
When you run `npx agent-orchestration init`, it creates an `AGENTS.md` file that works with:
- OpenAI Codex
- Google Jules
- Cursor
- Aider
- Windsurf
- VS Code Copilot
- And many more!
## Troubleshooting
### Server won't start
1. Make sure Node.js 18+ is installed: `node --version`
2. Check the path in your MCP config is correct
### Database errors
The SQLite database is created automatically in `.agent-orchestration/`. If corrupted:
```bash
rm -rf .agent-orchestration/
```
It will be recreated on next server start.
### Agents not seeing each other
- Ensure all agents are using the same `cwd` in the MCP config
- Check `agent_list` to see registered agents
- Stale agents are auto-cleaned after 5 minutes of no heartbeat
## Development
For contributors and local development:
### Prerequisites
- Node.js 18 or higher
- npm
### Setup
```bash
# Clone the repository
git clone https://github.com/madebyaris/agent-orchestration.git
cd agent-orchestration
# Install dependencies
npm install
# Build the project
npm run build
# Watch mode (rebuild on changes)
npm run dev
# Clean build
npm run clean && npm run build
```
## Roadmap
We're actively developing new features. Here's what's coming:
- [ ] **External Memory Integration** - Integration with external memory providers like [Mem0](https://mem0.ai/), [Byteover](https://www.byterover.dev/), and our own memory solution
- [ ] **Enhanced Sub-Agent Knowledge** - Fix limitations in knowledge sharing between main agent and sub-agents
- [ ] **Research-First Workflow** - When building from scratch, agents should research first and prepare all requirements before coding
- [ ] **Graceful Error Handling** - Better error handling and recovery across all operations
- [ ] **Auto Documentation** - Automatically generate documentation from and for each sub-agent + main agent interactions
Have a feature request? [Open an issue](https://github.com/madebyaris/agent-orchestration/issues)!
## Author
**Aris Setiawan** - [madebyaris.com](https://madebyaris.com)
- GitHub: [@madebyaris](https://github.com/madebyaris)
- Repository: [agent-orchestration](https://github.com/madebyaris/agent-orchestration)
## License
MIT