mcp-swarm-router
MCP-Swarm-Router
An MCP server that lets an LLM host (e.g. Claude Code) plan a large task, then delegate subtasks to local CLI agents based on their specialization — a "swarm router" for tools already installed on your machine.
Roster
id | specialization | CLI assumed | non-interactive invocation |
| Image generation & heavy tools |
| |
| UI/UX design & creative | Google Antigravity CLI ( |
|
| Hard coding & logic |
|
--sandbox workspace-write / acceptEdits / --dangerously-skip-permissions are there so
each CLI can actually write files without blocking on an approval prompt — none of these
processes have a TTY, so an unhandled prompt would hang until timeout_ms.
Edit src/registry.ts to add/remove agents or change how
each one is invoked.
Tools
get_agent_roster— returns the roster above as JSON (id, specialization, description, resolved CLI command). Call this first to decide whichagent_namefits a subtask.delegate_task— spawnsagent_name's CLI inworkspace_pathwithprompt, waits for it to exit (or hittimeout_ms, default 15 min, max 1 hour), and returns{ exitCode, signal, stdout, stderr, timedOut, durationMs }. Output per stream is capped at ~5MB (further output is dropped andtruncatedis set).
There's also a plan-and-delegate MCP prompt that spells out the intended
workflow: call get_agent_roster → break the task into subtasks → confirm
the plan for anything large → run delegate_task per subtask → summarize
results.
Setup
npm install
npm run buildEach agent's CLI must be installed and reachable on PATH under the name in
src/registry.ts (codex, agy, claude). If your local install differs,
copy .env.example to .env (or set the vars in your shell / MCP client
config) to point at the real binary:
MCP_SWARM_CODEX_CMD=
MCP_SWARM_AGY_CMD=
MCP_SWARM_CLAUDE_CMD=Spawning goes through cross-spawn
rather than a shell, so Windows .cmd/.bat shims (npm global installs)
resolve correctly and the prompt text can't be interpreted as shell
metacharacters.
Register with an MCP client
{
"mcpServers": {
"swarm-router": {
"command": "node",
"args": ["C:/KERJAAN/mcp-swarm-router/dist/index.js"]
}
}
}Development
npm run dev # run src/index.ts directly via tsx
npm run build # compile to dist/
npm start # run the compiled server