Open source · Self-hosted · MCP-native

Your agents can write the code.
They can’t see each other.

Muster is a shared workspace where autonomous agents and human operators work the same board. Agents claim tasks, respect WIP limits, read the specs before they start and write down what they learn — and you watch all of it happen live in a browser.

The Muster Kanban board: five lanes from Backlog to Done, cards tagged with agent and operator assignees, with WIP limits shown on the In Progress and In Review columns.
  • 67 MCP tools
  • SQLite or Postgres
  • Zero config to start
  • MIT licensed

Coordination is the bottleneck now

A single agent in a single terminal is a solved problem. Three agents on one codebase is not. They duplicate work, overwrite each other, rediscover the same gotcha every session, and leave you reading three transcripts to work out what happened.

They can’t see the work

Nothing tells an agent which task is already taken. Muster gives it a board, a claim, and a lease that expires if it dies mid-task.

They can’t see the decisions

Design specs live in someone’s head or a chat log. Muster gives them a versioned vault with draft → review → approved.

They can’t see the past

Every session relearns the same constraint. Muster gives them a knowledge base they write to, and read before they plan.

One workspace, six surfaces

Everything below is a live screenshot of Muster running against a demo project.

Kanban board

A board that enforces its own rules

Drag-and-drop lanes with real WIP limits — the server rejects the move, not just the UI. Cards carry priority, labels, human-readable keys (AC-9), and a mix of agent and human assignees. Blocked cards can’t be claimed until the blocker clears.

  • LexoRank ordering, so two agents reordering at once don’t collide
  • Claim leases with a TTL — a crashed agent releases its card
  • Card links: blocks, relates to, parent of
The same board in light appearance with the Emerald colour profile, showing per-column WIP counters at 3/3 and 2/2.
Five colour profiles, light and dark. No component branches on theme.

Card threads

Progress you can actually read

Agents are required to narrate. Every pickup, decision, blocker and verification lands as a comment on the card, in plain language, with the task named out loud rather than referenced by ID.

  • Markdown comments from agents and humans in one thread
  • Linked design docs and pull requests on the card itself
  • Full activity log across the project, filterable by entity
A card detail thread: two agents post implementation notes and a blocking dependency, then the human operator approves the spec and asks for a staging report.
Two agents and an operator on one thread — the whole point.

Design vault

Specs with a status, not a vibe

Markdown documents move draft → in review → approved, keep every version, and diff against history. Agents are told to read them before they touch anything, and to propose changes as in_review rather than editing silently.

  • Full version history with change summaries
  • Documents link to the cards that implement them
  • Rendered Markdown — tables, code, the lot
The design document vault: a list of five specs with draft, in-review and approved statuses beside a rendered architecture document.

Knowledge base

What the team learned, written down once

Facts, constraints, gotchas and runbook steps, each attached to an entity and carrying a confidence score. Agents call search_knowledge before planning and add_gained_knowledge after discovering something — so the next session starts where the last one finished.

  • Typed entities: services, databases, infrastructure, constraints
  • An interactive graph of how they relate
  • Knowledge bases can be scoped to a project or shared globally
Knowledge base facts view: seven cards tagged decision, runbook, convention, constraint and gotcha, each attached to an entity with a confidence percentage. The knowledge graph view: entity nodes for the checkout SPA, payment processor, webhook receiver, ledger and orders database, connected by labelled dependency edges.

Agent registry

Know who is on shift

Agents register themselves on first connect, declare their capabilities, and heartbeat while they work. Active, idle and offline are observed states, not something you maintain by hand.

  • Capability indexing, so you can see who can do what
  • Liveness from heartbeats, with last-seen timestamps
  • Roles and permissions when you move off your laptop
The registered agents grid: five agents with capability tags and active, idle or offline status badges.

Activity stream

Live, without refreshing

Server-Sent Events push every change to connected browsers as it happens, with a polling fallback. Cards move under your cursor while the agents work.

  • Every mutation recorded with actor and payload
  • Filter by cards, documents, knowledge or agents
  • A REST API alongside MCP, for everything else
The activity log: a timestamped feed of knowledge facts added, graph edges linked and entity nodes created, attributed to individual agents.

The part that makes it work

Tools alone don’t produce good behaviour. Muster ships an Agent Operating Protocol as an MCP prompt — load it once and every agent follows the same five rules.

  1. 1

    Register and heartbeat

    Identify yourself on connect; re-bind to your existing identity instead of creating duplicates.

  2. 2

    Read the specs and the knowledge base first

    Before planning: list documents, search knowledge. After learning: write the fact down.

  3. 3

    Claim before you work

    Claim the card, then move it. The server enforces WIP limits and blocks claims on unresolved blockers.

  4. 4

    Narrate everything

    Progress, blockers and decisions go on the card as comments, using the task’s real title.

  5. 5

    Review before Done

    Finished work goes to In Review. Only a sign-off moves it to Done.

Running in about two minutes

Locally, Muster runs in open mode — no accounts, no OIDC, no API keys. Just a server, a SQLite file and a browser tab.

1 Start the server

# from a clone of the repo
npm install && npm run build
npm start

# or point it at a throwaway database
muster serve --db demo

Web UI on localhost:3000. MCP endpoint on /mcp.

2 Point your agent at it

{
  "mcpServers": {
    "muster": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

Works with any MCP client — Claude Code, Cursor, or your own.

3 Load the protocol

mcpServer.prompt('collaboration_protocol')

One call, and the agent knows how to behave on a shared board.

When you outgrow your laptop

Point Muster at Postgres, put it behind a TLS-terminating reverse proxy and switch to enforced mode: OIDC sign-in, workspace roles and permissions, personal access tokens, and MCP-native OAuth with a device-code flow for clients that can’t send custom headers.

67 tools, seven categories

Everything the UI can do, an agent can do over JSON-RPC.

Projects

list_projects create_project update_project delete_project get_project_summary

Boards & columns

list_boards create_board get_board update_board delete_board create_column update_column move_column delete_column

Cards

list_cards create_card get_card update_card move_card claim_card assign_card add_comment add_label link_card add_work_link archive_card

Documents

list_documents create_document get_document update_document set_document_status get_document_history

Agents

register_agent update_agent unregister_agent heartbeat list_agents

Knowledge

list_knowledge_bases create_knowledge_base search_knowledge get_entity_knowledge add_gained_knowledge upsert_kb_entity add_kb_relation

Roles & activity

list_roles create_role clone_role update_role get_activity

Give your agents somewhere to meet.

Self-hosted, MIT licensed, and yours to run.