Skip to main content
This quickstart assumes you have Node.js 20+ and pnpm installed. See Installation for detailed prerequisites.

Get Started in 3 Steps

1

Clone and Install

Clone the repository and install dependencies:
git clone https://github.com/builderz-labs/mission-control.git
cd mission-control
pnpm install
Mission Control requires pnpm for dependency management. Install with npm install -g pnpm or enable corepack with corepack enable.
2

Configure Environment

Copy the example environment file and edit with your credentials:
cp .env.example .env
Edit .env with your preferred text editor. At minimum, set these values:
.env
# Admin credentials (seeded on first run)
AUTH_USER=admin
AUTH_PASS=your-secure-password

# API key for programmatic access
API_KEY=generate-a-random-key-here

# Network access (allows localhost by default)
MC_ALLOWED_HOSTS=localhost,127.0.0.1
Change default credentials before deploying to production. The AUTH_USER and AUTH_PASS are only used to seed the initial admin account on first run.
If your password contains #, either quote it or use base64 encoding:
AUTH_PASS="my#password"
3

Start the Server

Launch the development server:
pnpm dev
Open your browser to http://localhost:3000 and login with your AUTH_USER and AUTH_PASS credentials.
The dev server binds to 127.0.0.1:3000 by default. Production builds use 0.0.0.0:3005. See Installation for production configuration.

Register Your First Agent

Once logged in, register an agent to start tracking sessions and tasks:
1

Open Agent Panel

Click Agents in the left navigation rail. You’ll see the agent management panel.
2

Create Agent via API

Use the API to register your first agent:
curl -X POST http://localhost:3000/api/agents \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "name": "my-first-agent",
    "role": "developer",
    "status": "online"
  }'
Response:
{
  "agent": {
    "id": 1,
    "name": "my-first-agent",
    "role": "developer",
    "status": "online",
    "created_at": 1709596800,
    "taskStats": {
      "total": 0,
      "assigned": 0,
      "in_progress": 0,
      "completed": 0
    }
  }
}
The agent appears immediately in the dashboard via Server-Sent Events (SSE). No page refresh required.
3

View in Dashboard

Return to the Agents panel in your browser. Your new agent appears in the list with status badge, role, and task statistics.Click on the agent to view details including:
  • Session key and configuration
  • Task assignments and history
  • Heartbeat status and last seen timestamp
  • SOUL content (if configured)

Connect a CLI Tool (Optional)

Mission Control supports direct CLI integration without requiring a gateway. Connect tools like Claude Code or custom agents:
curl -X POST http://localhost:3000/api/connect \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "tool_name": "claude-code",
    "tool_version": "1.0.0",
    "agent_name": "my-first-agent",
    "agent_role": "developer"
  }'
Response includes URLs for heartbeats, events, and token reporting:
{
  "connection_id": "550e8400-e29b-41d4-a716-446655440000",
  "agent_id": 1,
  "agent_name": "my-first-agent",
  "status": "connected",
  "sse_url": "/api/events",
  "heartbeat_url": "/api/agents/1/heartbeat",
  "token_report_url": "/api/tokens"
}

Send Heartbeats

Keep the connection alive by sending heartbeats every 30 seconds:
curl -X POST http://localhost:3000/api/agents/1/heartbeat \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "connection_id": "550e8400-e29b-41d4-a716-446655440000",
    "token_usage": {
      "model": "claude-sonnet-4",
      "inputTokens": 1500,
      "outputTokens": 800
    }
  }'
Heartbeats can include optional token usage for inline cost tracking. Mission Control automatically calculates costs based on current model pricing.

Create a Task

Create and assign tasks to agents:
curl -X POST http://localhost:3000/api/tasks \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "title": "Implement user authentication",
    "description": "Add JWT-based authentication to the API",
    "priority": "high",
    "assigned_to": "my-first-agent",
    "status": "todo"
  }'
The task appears on the Kanban board and in the agent’s work queue. The agent receives notification via SSE if subscribed to /api/events.

View the Dashboard

Explore Mission Control’s 28 panels:

Overview

System status, active agents, and key metrics

Tasks

Kanban board with drag-and-drop workflow

Agents

Agent fleet management and lifecycle

Sessions

Active gateway sessions and connections

Tokens

Usage tracking and cost analysis

Memory

Agent memory browser and search

Logs

Centralized log viewer with filtering

Chat

Agent communication interface

Pipelines

Workflow orchestration and templates

Next Steps

Installation Guide

Production deployment and environment configuration

API Reference

Complete API documentation for all 66 endpoints

Agent Integration

Connect OpenClaw, Claude Code, and custom agents

Security

Authentication, authorization, and security best practices