Crewboard
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Crewboardcreate a job to review the docs and assign it to Agent Bot"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Crewboard
A job board that humans and AI agents both view and operate. FastAPI + SQLite, a single-page static UI (Japanese), a REST API, an MCP (Streamable HTTP) endpoint, WebMCP tools in the browser, and live updates via Server-Sent Events.
人と AI エージェントが同じボードを見て操作するジョブボードです(日本語は下部)。
Features
Kanban (wait / ready / run, drag to move), draft jobs (no tasks yet), done history, light/dark theme
Jobs contain ordered tasks; the current assignee is the assignee of the first unfinished task
Auto-done: a job becomes
donewhen all its tasks are done, and returns torunwhen an unfinished task appearsMaster data: assignees (human / bot, with avatars) and colored group tags
In-place editing design rule: switching view → edit never moves elements
Live updates:
GET api/events(SSE) — every client re-renders when anyone (human or agent) changes somethingOperating rules for agents in
rules.md(served via MCP instructions,crewboard://rules,get_rules,GET api/rules)
Related MCP server: agent-hq
Quick start
cp .env.example .env # set CREWBOARD_MCP_TOKEN
python -m venv .venv
.venv/bin/pip install -r requirements.txt # Windows: .venv\Scripts\pip ...
.venv/bin/python run.py # http://127.0.0.1:8090/On Windows, install with .venv\Scripts\pip.exe install -r requirements.txt, then run start.cmd or .venv\Scripts\python.exe run.py. A local crewboard.vbs wrapper can launch the same run.py without a console; it is not distributed with this repository.
On first start an empty data dir is created and seeded with generic sample jobs and two assignees (Owner, Agent Bot). Rename them and add avatars in マスタ管理.
Configuration (environment / .env)
Variable | Default | |
| – | Bearer token for |
| empty | Optional bearer token for every |
| empty | Comma-separated MCP Host allowlist; setting it enables MCP Host/Origin validation |
|
| SQLite DB ( |
|
| used by |
| empty | public sub-path when behind a prefix-stripping proxy (e.g. |
|
| operating rules |
| empty | Set |
The UI uses only relative URLs, so it works at the root or under any sub-path. Example Caddy config:
redir /crewboard /crewboard/ 308
handle_path /crewboard/* {
reverse_proxy 127.0.0.1:8090 {
flush_interval -1 # needed for SSE
}
}API
REST:
GET/POST api/jobs,GET/PATCH/DELETE api/jobs/{id},POST api/jobs/{id}/tasks,PATCH/DELETE api/tasks/{id},GET/POST api/assignees,PATCH/DELETE api/assignees/{name},PUT/DELETE api/assignees/{name}/icon,GET/POST api/group_tags,PATCH/DELETE api/group_tags/{name},PUT api/jobs/{id}/assignees,GET api/matrix,GET api/rules,GET api/events(SSE). OpenAPI docs atdocs.MCP (Streamable HTTP, stateless):
<base>/mcp/with headerAuthorization: Bearer <CREWBOARD_MCP_TOKEN>. Tools: get_rules, list_jobs, get_job, create_job, update_job, move_job, delete_job, add_task, update_task, delete_task, get_matrix, assign_job, list_assignees, add_assignee, update_assignee, delete_assignee, list_group_tags, add_group_tag, update_group_tag, delete_group_tag.Migration tools: source_refs, dry_run_migration, import_migration, get_migration_batch (REST:
api/source_refs,api/migrations/dry_run,api/migrations,api/migrations/{batch_id}).WebMCP: if
navigator.modelContextexists, the page registers 21 tools sharing names with the 24 MCP tools, omittingdelete_task,delete_assignee, anddelete_group_tag. Job/task writes and filters share typed REST/MCP/WebMCP schemas, including sort, priority, importance, wait, tags and source fields.delete_jobrequiresconfirm:true.
Security
By default, Crewboard is intended for a trusted network (such as a private tailnet) or an authenticating reverse proxy. REST reads and writes are unauthenticated while
CREWBOARD_API_TOKENis empty. Bind to loopback by default; do not expose this configuration directly to an untrusted network.Set a strong, independent
CREWBOARD_API_TOKENto requireAuthorization: Bearer <token>for all/api/*endpoints./healthz, the static UI, avatars, and API documentation remain accessible; this token is not a login system or per-user authorization.The bundled UI prompts once per page load after a 401, stores the API token in
localStorage, and attaches it to API fetches, including WebMCP. Use HTTPS and a trusted browser profile. To replace a saved token, clear thecrewboard-api-tokenlocalStorage entry and reload.Native
EventSourcecannot set an Authorization header, so the UI sends the API token asapi/events?token=<token>. OnlyGET /api/eventsaccepts a query token; other API endpoints require the header. Configure proxy/access logs to omit or redact SSE query strings./mcp/always requiresCREWBOARD_MCP_TOKEN; an empty token disables MCP access. The API token and MCP token are separate.MCP Host/Origin validation is enabled only when
CREWBOARD_ALLOWED_HOSTSis set. List exact Host header values, including ports where applicable, for exampleboard.example.com,127.0.0.1:8090; the MCP SDK also supportshost:*port patterns. HTTP and HTTPS origins for those hosts are accepted. List the public host forwarded by your reverse proxy. Empty preserves compatibility with arbitrary private-network hostnames, with no MCP DNS rebinding protection.Avatar URLs must be HTTP(S) and resolve exclusively to public IP addresses. Private, loopback, link-local, reserved, multicast, unspecified and non-global addresses are rejected, including IPv4-mapped addresses. Connections use the validated IPs without a second DNS lookup, verify HTTPS certificates, ignore proxy environment variables, reject redirects, and limit downloads to 5 MiB with 15-second network timeouts.
Uploaded avatars are decoded and converted to 128px WebP; inputs are limited to 5 MiB and 16 megapixels. SVG requires optional CairoSVG plus native Cairo; without them it returns a descriptive 400. External SVG resources are disabled.
Tests
Migration contract, additive schema, backup/restore and copy-environment procedure: docs/migration.md.
For pytest, install requirements-dev.txt and run python -m pytest tests/ -q.
With dependencies installed, run python -m unittest discover -s tests -v. The suite uses temporary data directories, a disposable local server, and test-only tokens; it never writes the normal data/ or .env.
UI authentication tests require Node.js: node --test tests/test_ui_auth.cjs.
The individual tests/test_*_mcp.py and tests/test_mcp_client.py scripts can also target a running server via CREWBOARD_MCP_URL. They create/delete test data, so run them only against a disposable server.
Data & privacy
Everything operational lives in the data dir and .env, both git-ignored. The repository only contains code, the UI, docs, the default rules.md and generic seed data.
License
MIT © 2026 Crewboard contributors
日本語(概要)
Crewboard は、人と AI エージェントが同じボードを見て操作するためのジョブボードです。
起動:
.env.exampleを.envにコピーしてトークンを設定 →python -m venv .venv→pip install -r requirements.txt→python run.pyデータ(SQLite・アバター・ローカルの運用ルール
data/rules.md)はCREWBOARD_DATA_DIR(既定data/)に保存され、Git 管理外です。初回起動時は汎用サンプルジョブと担当者 2 名(Owner / Agent Bot)が作成されます。
サブパス配信(例
/crewboard/)は相対パスで対応。リバースプロキシで SSE のためバッファリングを無効化してください(Caddy:flush_interval -1)。AI 向け運用ルールは
rules.md(MCP の instructions・get_rules・GET api/rulesで配信)。REST は既定で信頼ネットワーク前提です。
CREWBOARD_API_TOKEN設定時だけ全/api/*に認証を要求します。MCP は常にCREWBOARD_MCP_TOKENが必要です。CREWBOARD_ALLOWED_HOSTS設定時だけ MCP の Host/Origin 検証が有効になります。詳細は Security 節を参照してください。ライセンス: MIT(LICENSE)
デザインルール: 表示→編集で要素の位置を動かさない(
.v/.eを同じ場所に置きsetEd()で切替)。
This server cannot be deployed
Maintenance
Related MCP Connectors
Task & board management for AI agents + humans. Kanban, comments, digests via MCP.
AI agents use CalmBoard MCP to access board data, tasks, insights, and project workflows.
Real-time collaborative whiteboard — AI agents and humans edit the same board live over MCP.
Agent-first task marketplace MCP — discover, claim, and deliver paid workspace tasks.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for task management that enables AI agents to read, create, update tasks, and track work sessions, allowing agents and humans to collaborate on the same task board.5 npm10MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides shared memory, kanban board, and agent registry for AI agents to collaborate as a team, with a live dashboard for human oversight.7 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to manage Kanban boards, cards, sessions, and automations through a unified MCP interface with real-time updates, supporting delegation, agent sessions, and human-in-the-loop interactions.AGPL 3.0
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to collaborate in shared rooms with people, managing room presence, message delivery, and automatic agent registration via MCP tools.MIT