$git clone https://github.com/builderz-labs/mission-controlSelf-hosted control plane for operating AI agents.
| 1 | <div align="center"> |
| 2 | |
| 3 | # Mission Control |
| 4 | |
| 5 | Self-hosted control plane for operating AI agents. |
| 6 | |
| 7 | Dispatch tasks, inspect runs, review failures, track spend, and coordinate agent runtimes |
| 8 | from one local dashboard backed by SQLite. |
| 9 | |
| 10 | [](https://github.com/builderz-labs/mission-control/actions/workflows/quality-gate.yml) |
| 11 | [](https://github.com/builderz-labs/mission-control/releases) |
| 12 | [](LICENSE) |
| 13 | |
| 14 | <img src="docs/mission-control-overview.png" alt="Mission Control overview dashboard with active sessions, live activity, fleet status per runtime, and the task pipeline" width="900"> |
| 15 | |
| 16 | </div> |
| 17 | |
| 18 | > [!WARNING] |
| 19 | > Mission Control is alpha software. APIs, schemas, and configuration may change between |
| 20 | > releases. Read the [security guidance](#security-boundary) before exposing it to a network. |
| 21 | |
| 22 | ## Start locally |
| 23 | |
| 24 | Node.js 22 or newer and pnpm are required for a source install. |
| 25 | |
| 26 | ```bash |
| 27 | git clone https://github.com/builderz-labs/mission-control.git |
| 28 | cd mission-control |
| 29 | bash install.sh --local |
| 30 | ``` |
| 31 | |
| 32 | Open `http://localhost:3000/setup`, create the first admin account, then copy the API key |
| 33 | from Settings if an agent or script needs headless access. |
| 34 | |
| 35 | The manual path is useful when you already manage Node and pnpm: |
| 36 | |
| 37 | ```bash |
| 38 | nvm use 22 |
| 39 | pnpm install |
| 40 | pnpm dev |
| 41 | ``` |
| 42 | |
| 43 | Windows users can run `./install.ps1 -Mode local` in PowerShell. |
| 44 | |
| 45 | ### Start with Docker |
| 46 | |
| 47 | ```bash |
| 48 | docker compose up |
| 49 | ``` |
| 50 | |
| 51 | Or run the published multi-architecture image: |
| 52 | |
| 53 | ```bash |
| 54 | docker pull ghcr.io/builderz-labs/mission-control:latest |
| 55 | docker run --rm -p 3000:3000 ghcr.io/builderz-labs/mission-control:latest |
| 56 | ``` |
| 57 | |
| 58 | Use the hardened Compose overlay for a network-accessible deployment: |
| 59 | |
| 60 | ```bash |
| 61 | docker compose -f docker-compose.yml -f docker-compose.hardened.yml up -d |
| 62 | ``` |
| 63 | |
| 64 | The [deployment guide](docs/deployment.md) covers persistent data, TLS termination, |
| 65 | gateway connectivity, and standalone builds. |
| 66 | |
| 67 | ## What Mission Control governs |
| 68 | |
| 69 | The control plane sits above agent runtimes. It does not replace their reasoning or tool |
| 70 | loops. It gives operators one place to see and govern the work around those loops. |
| 71 | |
| 72 | | Area | Shipped surface | |
| 73 | |---|---| |
| 74 | | Tasks | Inbox, assignment, execution, review, Aegis quality gate, and completion receipts | |
| 75 | | Agents | Registration, presence, sessions, runtime adapters, configuration, and workspace sync | |
| 76 | | Operations | Activity stream, schedules, alerts, webhooks, logs, token use, and cost views | |
| 77 | | Knowledge | Memory browser, relationship graph, skills registry, and local skill synchronization | |
| 78 | | Governance | Roles, API keys, security events, trust signals, approvals, audits, and evals | |
| 79 | | Interfaces | Web UI, CLI, MCP server, OpenAPI-described REST API, WebSocket, and SSE | |
| 80 | |
| 81 | The runtime is self-hosted and workspace-aware. SQLite stores local control-plane state. |
| 82 | Shared workspaces can use deployment-level runtime integrations. Strict workspaces block |
| 83 | those integrations until the underlying resources carry workspace ownership. A gateway is |
| 84 | optional for task, project, agent, scheduler, webhook, alert, and cost work; live session |
| 85 | messaging needs a connected runtime gateway. |
| 86 | |
| 87 | ## Operator field notes |
| 88 | |
| 89 | Dashboards compress a sequence into current state. When a run needs review, record the |
| 90 | identity, task, tool call, approval, result, and verification evidence before changing it. |
| 91 | Keep unresolved items distinct from accepted risk. |
| 92 | |
| 93 |  |
| 94 | |
| 95 | Logs show what ran. A completion receipt or inspected artifact shows what finished. |
| 96 | |
| 97 | ## Pick the right fit |
| 98 | |
| 99 | Use Mission Control when multiple agents or runtimes make it hard to answer who owns a |
| 100 | task, what executed, which result passed review, or where spend and failures accumulated. |
| 101 | |
| 102 | It is probably the wrong tool when: |
| 103 | |
| 104 | - one agent on one machine |