mission-control README

The project's README from github.com/builderz-labs/mission-control. As one markdown file: README.md.

Mission Control

Self-hosted control plane for operating AI agents.

Dispatch tasks, inspect runs, review failures, track spend, and coordinate agent runtimes from one local dashboard backed by SQLite.

An open-source project by Builderz Labs, created and maintained by nyk. It works with OpenClaw, Claude Code, Codex, and other runtimes - it is not part of any one of them.

Quality Gate Release License: MIT Sponsor

Mission Control overview dashboard with active sessions, live activity, fleet status per runtime, and the task pipeline

[!WARNING] Mission Control is alpha software. APIs, schemas, and configuration may change between releases. Read the security guidance before exposing it to a network.

Start locally

Node.js 22 or newer and pnpm are required for a source install.

git clone https://github.com/builderz-labs/mission-control.git
cd mission-control
bash install.sh --local

Open http://localhost:3000/setup, create the first admin account, then copy the API key from Settings if an agent or script needs headless access.

The manual path is useful when you already manage Node and pnpm:

nvm use 22
pnpm install
pnpm dev

Windows users can run ./install.ps1 -Mode local in PowerShell.

Start with Docker

docker compose up

Or run the published multi-architecture image:

docker pull ghcr.io/builderz-labs/mission-control:latest
docker run --rm -p 3000:3000 ghcr.io/builderz-labs/mission-control:latest

Use the hardened Compose overlay for a network-accessible deployment:

docker compose -f docker-compose.yml -f docker-compose.hardened.yml up -d

The deployment guide covers persistent data, TLS termination, gateway connectivity, and standalone builds.

What Mission Control governs

The control plane sits above agent runtimes. It does not replace their reasoning or tool loops. It gives operators one place to see and govern the work around those loops.

Area Shipped surface
Tasks Inbox, assignment, execution, review, Aegis quality gate, and completion receipts
Agents Registration, presence, sessions, runtime adapters, configuration, and workspace sync
Operations Activity stream, schedules, alerts, webhooks, logs, token use, and cost views
Knowledge Memory browser, relationship graph, skills registry, and local skill synchronization
Governance Roles, API keys, security events, trust signals, approvals, audits, and evals
Interfaces Web UI, CLI, MCP server, OpenAPI-described REST API, WebSocket, and SSE

The runtime is self-hosted and workspace-aware. SQLite stores local control-plane state. Shared workspaces can use deployment-level runtime integrations. Strict workspaces block those integrations until the underlying resources carry workspace ownership. A gateway is optional for task, project, agent, scheduler, webhook, alert, and cost work; live session messaging needs a connected runtime gateway.

Operator field notes

Dashboards compress a sequence into current state. When a run needs review, record the identity, task, tool call, approval, result, and verification evidence before changing it. Keep unresolved items distinct from accepted risk.

Mission Control operator field notes

Logs show what ran. A completion receipt or inspected artifact shows what finished.

Pick the right fit

Use Mission Control when multiple agents or runtimes make it hard to answer who owns a task, what executed, which result passed review, or where spend and failures accumulated.

It is probably the wrong tool when:

Adapters and observation surfaces cover OpenClaw, Claude Code, Codex, CrewAI, LangGraph, AutoGen, and Claude SDK workflows. Adapter depth varies by runtime; see agent setup and CLI integration before assuming feature parity.

Connect an agent

The shortest gateway-free loop uses the REST API. Export the URL and API key shown in Settings:

export MC_URL=http://localhost:3000
export MC_API_KEY=replace-with-your-api-key

Register an agent and create work:

curl -s -X POST "$MC_URL/api/agents/register" \
  -H "Authorization: Bearer $MC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"scout","role":"researcher"}'

curl -s -X POST "$MC_URL/api/tasks" \
  -H "Authorization: Bearer $MC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Review open incidents","assigned_to":"scout","priority":"medium"}'

The agent can then claim its queue:

curl -s "$MC_URL/api/tasks/queue?agent=scout" \
  -H "Authorization: Bearer $MC_API_KEY"

Continue with the first-agent quickstart for heartbeats, task results, queue behavior, CLI equivalents, and MCP setup.

CLI

pnpm mc agents list --json
pnpm mc tasks queue --agent scout --json
pnpm mc events watch --types agent,task

MCP server

claude mcp add mission-control -- \
  env MC_URL=http://127.0.0.1:3000 MC_API_KEY=replace-with-your-api-key \
  node /absolute/path/to/mission-control/scripts/mc-mcp-server.cjs

Use the CLI and MCP reference for the current command and tool surface. The REST contract lives in openapi.json. A running instance serves the interactive reference at /docs and the OpenAPI JSON at /api/docs.

Product surfaces

Tasks and quality review

The task board tracks work through inbox, assignment, execution, review, quality review, and completion. Aegis review requires an approval record before a task reaches done.

Mission Control task board with assigned, in-progress, and review columns of agent tasks

Agents and runtimes

Agent views combine registration state, heartbeats, sessions, configuration, local runtime discovery, and workspace files.

Mission Control agents panel showing a five-agent squad with roles, heartbeats, and workspace conventions

Memory and skills

The memory browser and relationship graph inspect filesystem-backed memory and linked session knowledge. The Skills Hub discovers local skill roots and scans registry content before installation.

Mission Control memory browser rendering a markdown agent note with wiki-style links between memory files

Schedules and activity

Recurring task templates create dated work on a cron schedule. The activity stream combines agent, task, and system events for operator review.

Mission Control cron management calendar with scheduled jobs across the week

Mission Control activity stream with per-agent status and heartbeat events

Documentation

Guide Use it for
Quickstart Register an agent and run the first task loop
Agent setup Sources, identities, SOUL files, and heartbeats
Orchestration Dispatch, handoffs, workflows, and review gates
CLI and MCP Headless commands and agent tools
CLI integration Claude Code, Codex, and gateway-free connections
Deployment Local, Docker, standalone, reverse proxy, and VPS setup
Security hardening Network, container, CSP, and secret controls
Support Questions, bugs, feature proposals, and security-report routing
OpenClaw compatibility Config and state-directory behavior
Release process Versioning, tags, images, and release checks

Architecture

Web UI ─┐
CLI ────┼── auth ─ dispatch ─ events ─ policy ─ receipts
MCP ────┤                                      │
REST ───┘                         SQLite + agent runtimes
Layer Technology
Application Next.js 16 App Router, React 19, TypeScript 5
Interface Tailwind CSS 4, Zustand, Recharts, xterm.js
State SQLite through better-sqlite3, with WAL mode
Boundaries REST/OpenAPI, MCP, CLI, WebSocket, and SSE
Access Session cookies, API keys, Google sign-in, and role checks
Validation Zod at input boundaries
Verification Vitest, Playwright, ESLint, TypeScript, build, and API parity checks

Runtime data defaults to .data/. Set MISSION_CONTROL_DATA_DIR to an absolute persistent path for standalone deployments. The complete environment contract is in .env.example.

Security boundary

Access controls and security inspection surfaces are included, but alpha status still applies. Read SECURITY-HARDENING.md before relying on a network-accessible deployment.

Develop

pnpm install --frozen-lockfile
pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm test:e2e

pnpm quality:gate runs the full repository gate. Useful diagnostics:

bash scripts/station-doctor.sh
bash scripts/security-audit.sh
pnpm api:parity

Common local failures:

Symptom Check
Login returns an internal error after changing Node versions Run pnpm rebuild better-sqlite3
Docker cannot reach the gateway Set OPENCLAW_GATEWAY_HOST=host.docker.internal
Browser WebSocket cannot connect Leave NEXT_PUBLIC_GATEWAY_HOST empty or set a browser-reachable host
Password text after # disappears Quote AUTH_PASS or use AUTH_PASS_B64

See CONTRIBUTING.md for contribution scope, coding standards, and review expectations. Community conduct is defined in CODE_OF_CONDUCT.md.

Project status and support

Release notes live in CHANGELOG.md. Open issues are the current roadmap; the project does not promise dates for unassigned work.

Mission Control star history

License

MIT © 2026 Builderz Labs

mission-control (builderz-labs/mission-control)

Searching Database…

What is this?Mission Control is a self-hosted control plane for operating AI coding agents - it dispatches tasks, reviews runs, tracks spend, and coordinates runtimes like OpenClaw, Claude Code, and Codex from one local dashboard backed by SQLite.
Is this an agent framework or an ops/monitoring layer?It is not an agent framework - it sits above existing agent runtimes and does not replace their reasoning or tool loops, instead giving operators one place to see and govern the work those agents do.
How do I get it running?Install Node.js 22+ and pnpm for a source install (Windows users can run './install.ps1 -Mode local' in PowerShell), or pull the published multi-architecture Docker image and use the hardened Compose overlay for a network-accessible deployment.
Which agent runtimes does it actually support?Adapters and observation surfaces cover OpenClaw, Claude Code, Codex, CrewAI, LangGraph, AutoGen, and Claude SDK workflows, though adapter depth varies by runtime.
Is it stable enough for production?No - the project is explicitly alpha software where APIs, schemas, and configuration may change between releases, and it recommends reading the security guidance before exposing it to a network.
When is this the wrong tool to reach for?Skip it if one agent on one machine already stays understandable from its native CLI, if you need a managed multi-tenant SaaS instead of self-hosted, if you want an agent framework to define planning and tool use, or if your deployment can't tolerate alpha-level schema changes.
Does my agent data stay local?Runtime state is stored locally via SQLite (defaulting to .data/), and the project warns to keep the instance on a trusted network unless a TLS reverse proxy and allowed-hosts list are configured.
How do I connect an agent to Mission Control?Export the dashboard URL and API key from Settings, register the agent and create work through the REST API, then have the agent claim its queue - no gateway is required for this task/API loop.
What is Aegis?Aegis is Mission Control's built-in quality gate for tasks - it requires an approval record before a task can be marked done, sitting between execution and completion.
What's the tech stack behind the dashboard?It's built on Next.js 16 with React 19 and TypeScript 5, styled with Tailwind CSS 4, using Zustand for state, Recharts for charts, xterm.js for terminal views, and better-sqlite3 in WAL mode for storage.
Do I need a connected gateway to use it?Mostly no - a gateway is optional for task, project, agent, scheduler, webhook, alert, and cost work, but live session messaging with a runtime does need a connected gateway.
What are similar projects?paperclip, evenfire, tinyagi, ordewell, turnstone, ruflo, vicoa, openrig
Size
19 MB
Stars
6.4K
Age
8mo
Commits · 90 Days