Skip to main content
Glama
README.md
# agent-coordination-mcp

An experimental local MCP server for coordinating installed CLI agents across projects that use file-based task boards, locks, and shared status files.

The goal is not to replace the `ai-agent-teamwork` workflow. It is to expose that workflow as a small MCP control plane so a primary agent can see which CLI agents are available, assign work, inspect project coordination state, and keep durable assignment records.

## Why This Works

The workflow works if the MCP server stays narrow:

- MCP is the coordination surface, not the editor.
- Project state remains in plain files owned by each project.
- CLI agents continue to run as separate tools with their own approval and sandbox behavior.
- Assignment and heartbeat records are explicit JSON state, not inferred from hidden sessions.

The risky part is supervising long-running CLI processes. This first slice records assignments and generates dispatch intent; later slices can add process launch adapters per CLI once the approval and lifecycle model is clear.

## Current Tools

- `list_cli_agents` - detect known local CLI agents on `PATH`.
- `get_project_status` - summarize `.agent-tasks.json`, `.agent-manifest.json`, and `.agent-status.md` for a project.
- `list_assignments` - read active and historical assignment records.
- `assign_task` - record a task assignment to a detected CLI agent.
- `update_assignment_status` - update assignment status and notes.

## Install

```bash
uv sync
uv run agent-coordination-mcp
```

## Dynamic MCP Proxy Entry

Add this to `/home/stephen/dynamic-mcp-proxy-server/user.catalogue.json`:

```json
{
  "name": "agent-coordination",
  "description": "Local MCP control plane for detecting CLI agents and coordinating file-based project task boards",
  "command": "uv --project /home/stephen/projects/agent-coordination-mcp run agent-coordination-mcp",
  "tags": ["agents", "coordination", "mcp", "cli", "local"],
  "tech_stack": ["python", "mcp", "cli-agents"],
  "runtime": "stdio",
  "env_vars": []
}
```

## Planned Slices

1. Inventory and assignment tracking.
2. `ai-agent-teamwork` task board adapters.
3. CLI-specific dispatch adapters for `opencode`, `codex`, `gemini`, `claude`, and other installed agents.
4. Process/session tracking where supported by the CLI.
5. Dynamic proxy integration and research tools such as `devto-mcp-server`.

See [docs/ROADMAP.md](docs/ROADMAP.md) for the current implementation plan. The next slice is capability-aware inventory before automated dispatch.

## Non-Goals

- No hidden project edits by the MCP server.
- No generic shell execution tool.
- No automatic force-unlocking or stale-task rewrites without explicit tool calls.
- No assumption that every CLI supports resumable sessions.

TDQS

B3.1/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct action: assigning tasks, retrieving project status, listing assignments, listing CLI agents, and updating assignment status. No overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., assign_task, get_project_status), making them predictable and easy to understand.

Tool Count5/5

With 5 tools, the set is well-scoped for coordinating CLI agents in projects, covering essential operations without unnecessary complexity.

Completeness4/5

The set covers key operations: assign, list, update, and status queries. A minor gap is the lack of a tool to retrieve a single assignment by ID, but the overall surface is adequate for the domain.

Maintenance

ActivityInactive
ResponsivenessNo issues