mission-control
Connect AI agents to Mission Control through its API to register agents, retrieve assigned tasks, report progress, manage skills, and check agent or system status from scripts and automated workflows.
한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.
원문원문 설명 보기
Interact with Mission Control — AI agent orchestration dashboard. Use when registering agents, managing tasks, syncing skills, or querying agent/task status via MC APIs.
이럴 때 유용합니다
- Registering agents and reporting their online status
- Retrieving assigned tasks and reporting progress
- Reading and updating registered skills
- Checking agent activity and system health
포함된 파일(200)
- SKILL.md8.2 KB
- .dockerignore231 B
- .env.example11.1 KB
- .env.test191 B
- .github/CODEOWNERS76 B
- .github/dependabot.yml1.4 KB
- .github/FUNDING.yml31 B
- .github/ISSUE_TEMPLATE/bug_report.yml1.9 KB
- .github/ISSUE_TEMPLATE/config.yml261 B
- .github/ISSUE_TEMPLATE/feature_request.yml2.3 KB
- .github/pull_request_template.md825 B
- .github/workflows/codeql.yml951 B
- .github/workflows/config-integrity.yml2.5 KB
- .github/workflows/docker-publish.yml2.4 KB
- .github/workflows/osv-scanner.yml557 B
- .github/workflows/quality-gate.yml1.8 KB
- .github/workflows/scorecard.yml1.2 KB
- .github/workflows/screenshot-drift.yml3.9 KB
- .github/workflows/star-chart.yml1.1 KB
- .gitignore695 B
- .node-version3 B
- .npmrc48 B
- .nvmrc3 B
- CHANGELOG.md20.3 KB
- CLAUDE.md3.3 KB
- CODE_OF_CONDUCT.md5.4 KB
- CONTRIBUTING.md2.1 KB
- docker-compose.hardened.yml486 B
- docker-compose.yml3.0 KB
- docker-entrypoint.sh1.3 KB
- Dockerfile4.6 KB
- docs/agent-setup.md9.9 KB
- docs/cli-agent-control.md4.2 KB
- docs/cli-integration.md3.3 KB
- docs/deployment.md23.7 KB
- docs/mission-control-activity.png45.6 KB
- docs/mission-control-agents.png59.6 KB
- docs/mission-control-cron.png62.3 KB
- docs/mission-control-memory.png37.5 KB
- docs/mission-control-overview.png44.8 KB
- docs/mission-control-tasks.png85.9 KB
- docs/openclaw-config-compatibility.md1.4 KB
- docs/operator-field-notes.webp74.5 KB
- docs/orchestration.md10.5 KB
- docs/plans/2026-03-10-onboarding-walkthrough-hardening.md1.1 KB
- docs/plans/2026-03-20-mission-control-platform-cli-tui-prd.md8.4 KB
- docs/quickstart.md7.6 KB
- docs/releases/2.0.0.md10.0 KB
- docs/releases/2.0.1.md4.6 KB
- docs/releases/2.2.0.md2.5 KB
- docs/releases/2.3.0.md2.8 KB
- docs/SCREENSHOT-GUIDE.md2.9 KB
- docs/SECURITY-HARDENING.md12.7 KB
- docs/star-history-dark.svg5.5 KB
- docs/star-history-light.svg5.5 KB
- eslint.config.mjs1.4 KB
- examples/MULTI-PROVIDER-DEMO.md38.4 KB
- install.ps116.1 KB
- install.sh15.7 KB
- LICENSE1.0 KB
- messages/ar.json108.2 KB
- messages/de.json91.6 KB
- messages/en.json83.2 KB
- messages/es.json92.2 KB
- messages/fr.json94.8 KB
- messages/ja.json102.0 KB
- messages/ko.json92.7 KB
- messages/pt.json91.7 KB
- messages/ru.json122.0 KB
- messages/zh-tw.json82.3 KB
- messages/zh.json82.0 KB
- next.config.js2.4 KB
- openapi.json330.6 KB
- openclaw_hardening_guide.md6.9 KB
- ops/mc-provisioner-daemon.js11.6 KB
- ops/provisioner-limits.cjs907 B
- ops/templates/openclaw-gateway@.service567 B
- package.json4.2 KB
- playwright.config.ts1.3 KB
- playwright.openclaw.gateway.config.ts627 B
- playwright.openclaw.local.config.ts625 B
- pnpm-lock.yaml328.7 KB
- pnpm-workspace.yaml743 B
- postcss.config.js71 B
- public/brand/claude-logo.png61.4 KB
- public/brand/codex-logo.png2.8 KB
- public/brand/hermes-logo.png24.8 KB
- public/brand/mc-logo-128.png16.7 KB
- public/brand/mc-logo-256.png63.0 KB
- public/brand/mc-logo-512.png279.3 KB
- public/brand/openclaw-logo.png25.1 KB
- public/llms.txt1.3 KB
- public/mc-logo.png1.8 MB
- public/mc.png2.3 MB
- public/office-sprites/cc0-hero/ATTRIBUTION-CC0-HERO.txt210 B
- public/office-sprites/cc0-hero/player_full_animation.png49.4 KB
- public/office-sprites/cc0-hero/player.png13.6 KB
- public/office-sprites/desk.svg665 B
- public/office-sprites/floor-tile.svg436 B
- public/office-sprites/kenney/ATTRIBUTION-KENNEY.txt575 B
- public/office-sprites/kenney/chairDesk.png997 B
- public/office-sprites/kenney/computerScreen.png353 B
- public/office-sprites/kenney/desk.png560 B
- public/office-sprites/kenney/floorFull.png795 B
- public/office-sprites/kenney/plantSmall1.png257 B
- public/office-sprites/kenney/plantSmall2.png248 B
- public/office-sprites/kenney/rugRectangle.png418 B
- public/office-sprites/kenney/tableCross.png512 B
- public/office-sprites/lounge-rug.svg358 B
- public/office-sprites/plant.svg487 B
- public/office-sprites/worker-base.svg603 B
- public/office-sprites/worker-idle-a.svg603 B
- public/office-sprites/worker-idle-b.svg603 B
- public/office-sprites/worker-type-a.svg601 B
- public/office-sprites/worker-type-b.svg601 B
- public/office-sprites/worker-walk-a.svg603 B
- public/office-sprites/worker-walk-b.svg603 B
- public/robots.txt198 B
- README.md11.9 KB
- RELEASE.md1.6 KB
- scripts/agent-heartbeat.sh7.1 KB
- scripts/api-contract-parity.ignore670 B
- scripts/check-api-contract-parity.mjs5.1 KB
- scripts/check-node-version.mjs681 B
- scripts/check-standalone-artifact.mjs2.4 KB
- scripts/check-workflow-action-pins.py1.3 KB
- scripts/deploy-standalone.sh6.2 KB
- scripts/e2e-openclaw/bin/clawdbot353 B
- scripts/e2e-openclaw/bin/openclaw353 B
- scripts/e2e-openclaw/bin/opencode699 B
- scripts/e2e-openclaw/mock-gateway.mjs1.5 KB
- scripts/e2e-openclaw/start-e2e-server.mjs8.4 KB
- scripts/gen-star-history.py5.8 KB
- scripts/generate-env.sh2.4 KB
- scripts/load-env.sh2.1 KB
- scripts/load-env.test.sh1.9 KB
- scripts/mc-base-url.cjs1.0 KB
- scripts/mc-cli.cjs25.4 KB
- scripts/mc-mcp-server.cjs30.1 KB
- scripts/mc-server.cjs2.8 KB
- scripts/mc-tui.cjs45.9 KB
- scripts/notification-daemon.sh10.1 KB
- scripts/prepare-standalone-artifact.mjs1.8 KB
- scripts/security-audit.sh6.5 KB
- scripts/security-audit.test.sh1.4 KB
- scripts/smoke-staging.mjs5.3 KB
- scripts/start-standalone.sh1.5 KB
- scripts/station-doctor.sh6.7 KB
- scripts/take-screenshots.ts3.2 KB
- SECURITY.md2.5 KB
- skills/mission-control-installer/README.md1.7 KB
- skills/mission-control-installer/skill.json786 B
- skills/mission-control-manage/README.md2.6 KB
- skills/mission-control-manage/skill.json605 B
- src/app/[[...panel]]/page.tsx26.8 KB
- src/app/api/activities/route.ts7.7 KB
- src/app/api/adapters/route.ts4.3 KB
- src/app/api/agent-runtimes/route.ts3.9 KB
- src/app/api/agents/[id]/attribution/route.ts12.1 KB
- src/app/api/agents/[id]/diagnostics/route.ts14.2 KB
- src/app/api/agents/[id]/files/route.ts6.3 KB
- src/app/api/agents/[id]/heartbeat/route.ts8.9 KB
- src/app/api/agents/[id]/hide/route.ts2.6 KB
- src/app/api/agents/[id]/keys/route.ts7.1 KB
- src/app/api/agents/[id]/memory/route.ts11.2 KB
- src/app/api/agents/[id]/route.ts11.0 KB
- src/app/api/agents/[id]/soul/route.ts11.0 KB
- src/app/api/agents/[id]/wake/route.ts2.1 KB
- src/app/api/agents/comms/route.ts5.8 KB
- src/app/api/agents/evals/route.ts5.7 KB
- src/app/api/agents/message/route.ts3.3 KB
- src/app/api/agents/optimize/route.ts3.6 KB
- src/app/api/agents/register/route.ts4.7 KB
- src/app/api/agents/route.ts17.0 KB
- src/app/api/agents/sync/route.ts2.3 KB
- src/app/api/alerts/route.ts12.9 KB
- src/app/api/audit/route.ts1.9 KB
- src/app/api/auth/access-requests/route.ts5.4 KB
- src/app/api/auth/google/disconnect/route.ts1.4 KB
- src/app/api/auth/google/route.ts4.4 KB
- src/app/api/auth/login/route.ts2.6 KB
- src/app/api/auth/logout/route.test.ts2.0 KB
- src/app/api/auth/logout/route.ts1.3 KB
- src/app/api/auth/me/route.ts5.1 KB
- src/app/api/auth/users/route.ts7.1 KB
- src/app/api/backup/route.ts6.4 KB
- src/app/api/channels/route.ts9.9 KB
- src/app/api/chat/conversations/route.ts3.6 KB
- src/app/api/chat/messages/[id]/route.ts2.6 KB
- src/app/api/chat/messages/route.ts26.9 KB
- src/app/api/chat/session-prefs/route.ts4.0 KB
- src/app/api/claude-tasks/route.ts907 B
- src/app/api/claude/sessions/route.ts3.8 KB
- src/app/api/cleanup/route.ts7.2 KB
- src/app/api/connect/route.ts6.1 KB
- src/app/api/cron/route.ts14.6 KB
- src/app/api/debug/route.ts5.8 KB
- src/app/api/diagnostics/route.ts6.7 KB
- src/app/api/docs/content/route.ts1.4 KB
- src/app/api/docs/route.ts464 B
SKILL.md(원문)
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Mission Control Agent Skill
Mission Control (MC) is an AI agent orchestration dashboard with real-time SSE/WebSocket, a skill registry, framework adapters, and RBAC. This skill teaches agents how to interact with MC APIs programmatically.
Quick Start
Base URL: http://localhost:3000 (default Next.js dev) or your deployed host.
Auth header: x-api-key: <your-api-key>
Register + heartbeat in two calls:
# 1. Register
curl -X POST http://localhost:3000/api/adapters \
-H "Content-Type: application/json" \
-H "x-api-key: $MC_API_KEY" \
-d '{
"framework": "generic",
"action": "register",
"payload": { "agentId": "my-agent-01", "name": "My Agent" }
}'
# 2. Heartbeat (repeat every 5 minutes)
curl -X POST http://localhost:3000/api/adapters \
-H "Content-Type: application/json" \
-H "x-api-key: $MC_API_KEY" \
-d '{
"framework": "generic",
"action": "heartbeat",
"payload": { "agentId": "my-agent-01", "status": "online" }
}'
Authentication
MC supports two auth methods:
| Method | Header | Use Case |
|---|---|---|
| API Key | x-api-key: <key> or Authorization: Bearer <key> | Agents, scripts, CI/CD |
| Session cookie | Cookie: __Host-mc-session=<token> (HTTPS) or mc-session=<token> (HTTP) | Browser UI |
Roles (hierarchical): viewer < operator < admin
- viewer — Read-only access (GET endpoints)
- operator — Create/update agents, tasks, skills, use adapters
- admin — Full access including user management
API key auth grants admin role by default. The key is set via API_KEY env var or the security.api_key DB setting.
Agents can identify themselves with the optional X-Agent-Name header for attribution in audit logs.
Agent Lifecycle
register → heartbeat (5m interval) → fetch assignments → report task status → disconnect
All lifecycle actions go through the adapter protocol (POST /api/adapters).
1. Register
{
"framework": "generic",
"action": "register",
"payload": {
"agentId": "my-agent-01",
"name": "My Agent",
"metadata": { "version": "1.0", "capabilities": ["code", "review"] }
}
}
2. Heartbeat
Send every ~5 minutes to stay marked as online.
{
"framework": "generic",
"action": "heartbeat",
"payload": {
"agentId": "my-agent-01",
"status": "online",
"metrics": { "tasks_completed": 5, "uptime_seconds": 3600 }
}
}
3. Fetch Assignments
Returns up to 5 pending tasks sorted by priority (critical → low), then due date.
{
"framework": "generic",
"action": "assignments",
"payload": { "agentId": "my-agent-01" }
}
Response:
{
"assignments": [
{ "taskId": "42", "description": "Fix login bug\nUsers cannot log in with SSO", "priority": 1 }
],
"framework": "generic"
}
4. Report Task Progress
{
"framework": "generic",
"action": "report",
"payload": {
"taskId": "42",
"agentId": "my-agent-01",
"progress": 75,
"status": "in_progress",
"output": "Fixed SSO handler, running tests..."
}
}
status values: in_progress, done, failed, blocked
5. Disconnect
{
"framework": "generic",
"action": "disconnect",
"payload": { "agentId": "my-agent-01" }
}
Core API Reference
Agents — /api/agents
| Method | Min Role | Description |
|---|---|---|
| GET | viewer | List agents. Query: ?status=online&role=dev&limit=50&offset=0 |
| POST | operator | Create agent. Body: { name, role, status?, config?, template?, session_key?, soul_content? } |
| PUT | operator | Update agent. Body: { name, status?, role?, config?, session_key?, soul_content?, last_activity? } |
GET response shape:
{
"agents": [{
"id": 1, "name": "scout", "role": "researcher", "status": "online",
"config": {}, "taskStats": { "total": 10, "assigned": 2, "in_progress": 1, "completed": 7 }
}],
"total": 1, "page": 1, "limit": 50
}
Tasks — /api/tasks
| Method | Min Role | Description |
|---|---|---|
| GET | viewer | List tasks. Query: ?status=in_progress&assigned_to=scout&priority=high&project_id=1&limit=50&offset=0 |
| POST | operator | Create task. Body: { title, description?, status?, priority?, assigned_to?, project_id?, tags?, metadata?, due_date?, estimated_hours? } |
| PUT | operator | Bulk status update. Body: { tasks: [{ id, status }] } |
Priority values: critical, high, medium, low
Status values: inbox, assigned, in_progress, review, done, failed, blocked, cancelled
Note: Moving a task to done via PUT requires an Aegis quality review approval.
POST response:
{
"task": {
"id": 42, "title": "Fix login bug", "status": "assigned",
"priority": "high", "assigned_to": "scout", "ticket_ref": "GEN-001",
"tags": ["bug"], "metadata": {}
}
}
Skills — /api/skills
| Method | Min Role | Description |
|---|---|---|
| GET | viewer | List all skills across roots |
GET ?mode=content&source=...&name=... | viewer | Read a skill's SKILL.md content |
GET ?mode=check&source=...&name=... | viewer | Run security check on a skill |
| POST | operator | Create/upsert skill. Body: { source, name, content } |
| PUT | operator | Update skill content. Body: { source, name, content } |
DELETE ?source=...&name=... | operator | Delete a skill |
Skill sources: user-agents, user-codex, project-agents, project-codex, openclaw
Status — /api/status
| Action | Min Role | Description |
|---|---|---|
GET ?action=overview | viewer | System status (uptime, memory, disk, sessions) |
GET ?action=dashboard | viewer | Aggregated dashboard data with DB stats |
GET ?action=gateway | viewer | Gateway process status and port check |
GET ?action=models | viewer | Available AI models (catalog + local Ollama) |
GET ?action=health | viewer | Health checks (gateway, disk, memory) |
GET ?action=capabilities | viewer | Feature flags: gateway reachable, Claude home, subscriptions |
Adapters — /api/adapters
| Method | Min Role | Description |
|---|---|---|
| GET | viewer | List available framework adapter names |
| POST | operator | Execute adapter action (see Agent Lifecycle above) |
Framework Adapter Protocol
All agent lifecycle operations use a single endpoint:
POST /api/adapters
Content-Type: application/json
x-api-key: <key>
{
"framework": "<adapter-name>",
"action": "<action>",
"payload": { ... }
}
Available frameworks: generic, openclaw, crewai, langgraph, autogen, claude-sdk
Available actions: register, heartbeat, report, assignments, disconnect
All adapters implement the same FrameworkAdapter interface — choose the one matching your agent framework, or use generic as a universal fallback.
Payload shapes by action:
| Action | Required Fields | Optional Fields |
|---|---|---|
register | agentId, name | metadata |
heartbeat | agentId | status, metrics |
report | taskId, agentId | progress, status, output |
assignments | agentId | — |
disconnect | agentId | — |
Environment Variables
| Variable | Default | Description |
|---|---|---|
API_KEY | — | API key for agent/script authentication |
OPENCLAW_GATEWAY_HOST | 127.0.0.1 | Gateway host address |
OPENCLAW_GATEWAY_PORT | 18789 | Gateway port |
OPENCLAW_STATE_DIR | ~/.openclaw | OpenClaw state directory |
OPENCLAW_CONFIG_PATH | <state-dir>/openclaw.json | Gateway config file path |
MC_CLAUDE_HOME | ~/.claude | Claude home directory |
Real-Time Events
MC broadcasts events via SSE (/api/events) and WebSocket. Key event types:
agent.created,agent.updated,agent.status_changedtask.created,task.updated,task.status_changed
Subscribe to SSE for live dashboard updates when building integrations.
리뷰
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
댓글
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.