MCPcopy
hub / github.com/abhi1693/openclaw-mission-control

github.com/abhi1693/openclaw-mission-control @main sqlite

repository ↗ · DeepWiki ↗
3,658 symbols 14,462 edges 686 files 781 documented · 21%
README

OpenClaw Mission Control

CI Static Badge

OpenClaw Mission Control is the centralized operations and governance platform for running OpenClaw across teams and organizations, with unified visibility, approval controls, and gateway-aware orchestration. It gives operators a single interface for work orchestration, agent and gateway management, approval-driven governance, and API-backed automation.

Mission Control dashboard image image image image

Platform overview

Mission Control is designed to be the day-to-day operations surface for OpenClaw. Instead of splitting work across multiple tools, teams can plan, execute, review, and audit activity in one system.

Core operational areas:

  • Work orchestration: manage organizations, board groups, boards, tasks, and tags.
  • Agent operations: create, inspect, and manage agent lifecycle from a unified control surface.
  • Governance and approvals: route sensitive actions through explicit approval flows.
  • Gateway management: connect and operate gateway integrations for distributed environments.
  • Activity visibility: review a timeline of system actions for faster debugging and accountability.
  • API-first model: support both web workflows and automation clients from the same platform.

Use cases

  • Multi-team agent operations: run multiple boards and board groups across organizations from a single control plane.
  • Human-in-the-loop execution: require approvals before sensitive actions and keep decision trails attached to work.
  • Distributed runtime control: connect gateways and operate remote execution environments without changing operator workflow.
  • Audit and incident review: use activity history to reconstruct what happened, when it happened, and who initiated it.
  • API-backed process integration: connect internal workflows and automation clients to the same operational model used in the UI.

What makes Mission Control different

  • Operations-first design: built for running agent work reliably, not just creating tasks.
  • Governance built in: approvals, auth modes, and clear control boundaries are first-class.
  • Gateway-aware orchestration: built to operate both local and connected runtime environments.
  • Unified UI and API model: operators and automation act on the same objects and lifecycle.
  • Team-scale structure: organizations, board groups, boards, tasks, tags, and users in one system of record.

Who it is for

  • Platform teams running OpenClaw in self-hosted or internal environments.
  • Operations and engineering teams that need clear approval and auditability controls.
  • Organizations that want API-accessible operations without losing a usable web UI.

Get started in minutes

Option A: One-command production-style bootstrap

If you haven't cloned the repo yet, you can run the installer in one line:

curl -fsSL https://raw.githubusercontent.com/abhi1693/openclaw-mission-control/master/install.sh | bash

This clones the repository into ./openclaw-mission-control if no local checkout is found in your current directory.

If you already cloned the repo:

./install.sh

The installer is interactive and will:

  • Ask for deployment mode (docker or local).
  • Install missing system dependencies when possible.
  • Generate and configure environment files.
  • Bootstrap and start the selected deployment mode.

Installer support matrix: docs/installer-support.md

Option B: Manual setup

Prerequisites

  • Supported platforms: Linux and macOS. On macOS, Docker mode requires Docker Desktop; local mode requires Homebrew and Node.js 22+.
  • Docker Engine
  • Docker Compose v2 (docker compose)

1. Configure environment

cp .env.example .env

Before startup:

  • Set LOCAL_AUTH_TOKEN to a non-placeholder value (minimum 50 characters) when AUTH_MODE=local.
  • Ensure BASE_URL matches the public backend origin if you are not using http://localhost:8000.
  • NEXT_PUBLIC_API_URL=auto (default) resolves to http(s)://<current-host>:8000.
  • Set an explicit URL when your API is behind a reverse proxy or non-default port.

2. Start Mission Control

docker compose -f compose.yml --env-file .env up -d --build

If you are iterating on the UI in Docker and want automatic frontend rebuilds on source changes, run:

docker compose -f compose.yml --env-file .env up --build --watch

Notes:

  • Compose Watch requires Docker Compose 2.22.0+.
  • You can also run watch separately after startup:
docker compose -f compose.yml --env-file .env up -d --build
docker compose -f compose.yml --env-file .env watch

After pulling new changes, rebuild and recreate all services:

docker compose -f compose.yml --env-file .env up -d --build --force-recreate

For a fully clean rebuild (no cached build layers):

docker compose -f compose.yml --env-file .env build --no-cache --pull
docker compose -f compose.yml --env-file .env up -d --force-recreate

3. Open the application

  • Mission Control UI: http://localhost:3000
  • Backend health: http://localhost:8000/healthz

4. Stop the stack

docker compose -f compose.yml --env-file .env down

Authentication

Mission Control supports two authentication modes:

  • local: shared bearer token mode (default for self-hosted use)
  • clerk: Clerk JWT mode

Environment templates:

Documentation

Complete guides for deployment, production, troubleshooting, and testing are in /docs.

Project status

Mission Control is under active development.

  • Features and APIs may change between releases.
  • Validate and harden your configuration before production use.

Contributing

Issues and pull requests are welcome.

License

This project is licensed under the MIT License. See LICENSE.

Star History

Star History Chart

Extension points exported contracts — how you extend this code

DependencyBannerDependency (Interface)
(no doc)
frontend/src/components/molecules/DependencyBanner.tsx
Chainable (Interface)
(no doc)
frontend/cypress/support/commands.ts
DependencyBannerProps (Interface)
(no doc)
frontend/src/components/molecules/DependencyBanner.tsx
TaskCardProps (Interface)
(no doc)
frontend/src/components/molecules/TaskCard.tsx
ButtonProps (Interface)
(no doc)
frontend/src/components/ui/button.tsx
BadgeProps (Interface)
(no doc)
frontend/src/components/ui/badge.tsx

Core symbols most depended-on inside this repo

where
called by 279
backend/app/db/queryset.py
cn
called by 161
frontend/src/lib/utils.ts
customFetch
called by 155
frontend/src/api/mutator.ts
utcnow
called by 83
backend/app/core/time.py
first
called by 82
backend/app/api/queryset.py
filter_by
called by 71
backend/app/db/queryset.py
by_id
called by 68
backend/app/db/query_manager.py
filter
called by 66
backend/app/db/queryset.py

Shape

Function 2,586
Method 454
Class 328
Route 151
Interface 138
Enum 1

Languages

Python64%
TypeScript36%

Modules by API surface

frontend/src/api/generated/agent/agent.ts112 symbols
backend/app/api/tasks.py96 symbols
backend/app/services/openclaw/provisioning.py86 symbols
backend/app/services/openclaw/provisioning_db.py78 symbols
frontend/src/api/generated/organizations/organizations.ts68 symbols
backend/app/api/skills_marketplace.py65 symbols
backend/app/api/agent.py64 symbols
frontend/src/app/boards/[boardId]/page.tsx58 symbols
frontend/src/api/generated/gateways/gateways.ts57 symbols
backend/tests/test_agent_provisioning_utils.py50 symbols
frontend/src/api/generated/skills/skills.ts49 symbols
backend/tests/test_error_handling.py39 symbols

Dependencies from manifests, versioned

@clerk/nextjs6.37.3 · 1×
@clerk/testing1.13.35 · 1×
@radix-ui/react-dialog1.1.15 · 1×
@radix-ui/react-popover1.1.15 · 1×
@radix-ui/react-tooltip1.2.8 · 1×
@tanstack/react-query5.90.21 · 1×
@tanstack/react-table8.21.3 · 1×
@testing-library/jest-dom6.9.1 · 1×
@testing-library/react16.3.2 · 1×
@testing-library/user-event14.6.1 · 1×

For agents

$ claude mcp add openclaw-mission-control \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact