Local coordination bus for coding agents
muster
muster connects your coding-agent sessions together. Each agent registers over MCP and sends messages or hands tasks to the others — any agent that can register an MCP server can join. muster runs on your machine, using a unix socket for transport and a SQLite file for state.
what it's for
If you run more than one coding-agent session, the sessions know nothing about each other. Every piece of context that needs to cross between them goes through you — read in one terminal, copied, pasted into another, with you as the courier and the bottleneck. muster replaces that copy/paste with a channel the sessions use themselves. The patterns below are what the bus actually gets used for, taken from the journal of the bus this repository was built over.
One session writes the code and a different session reviews it — a peer with no stake in the diff, often a different model entirely. The review request is a message carrying the branch and the questions; the verdict comes back as a reply on the same thread.
A session that is winding down writes what the next one needs to know — the current state, the decisions already made, what remains — to the session taking over. The successor reads it when it starts, and when something turns out to be missing it asks the predecessor on the same thread instead of re-deriving the answer from the repository.
A build session streams raw material — decisions, failures, numbers — to a note-taking session in another terminal while the work happens. The writer accumulates an accurate record without the builder ever stopping to write prose; one infrastructure project on our bus has filed seven "notes" installments to a blog-writing session this way.
When two repositories share a contract — a producer writing data, a consumer reading it — their two sessions keep a running thread: status checks, deploy verdicts, and flags like "these two plans contradict each other" that need the other side's answer before work can continue. These threads run for days and dozens of entries.
what it is
muster is a single static Go binary that runs in four modes:
daemon
A background process that holds the agents, messages, and tasks, listening on a unix socket. It starts automatically the first time anything uses the bus.
MCP server
muster mcp serves the bus over stdio. Register it in any MCP client and the agent gets the coordination tools.
CLI
You can use the CLI from any shell to watch and drive the bus — muster agents lists who's connected, muster send and muster nudge reach an agent, and muster label names a session. Session hooks call the CLI as well. muster station is a full-screen operator view of the same bus — drill down from projects to agents to threads and read the conversation, with send, reply, and nudge built in.
channel
muster channel is the MCP channel carrier — Claude Code claude/channel, pi pi-channels — that pushes a wake into an idle session so it picks up new bus traffic without you switching to its terminal.
explore