Board
FreeNot checkedA kanban board MCP server that lets Claude Code manage tasks through a local web UI, including claiming, submitting, and querying tasks with automatic git branc
About
A kanban board MCP server that lets Claude Code manage tasks through a local web UI, including claiming, submitting, and querying tasks with automatic git branch and PR creation.
README
A local-first kanban board that orchestrates Claude Code task execution. Create tasks in the UI, Claude Code picks them up via MCP tools or the built-in watcher, creates branches and PRs, and you review and merge — all from a single dashboard.
Features
- Four-column board: Pending → In Progress → In Review → Done
- Two execution paths: Manual (Claude uses MCP tools) or Watcher (auto-spawns
claude -p /next-task) - Branch-per-task: Each task gets its own git branch and PR
- Token exhaustion handling: Watcher detects quota errors, pauses with countdown, auto-resumes on reset
- Single-user, local-only: Runs on
127.0.0.1, SQLite storage, zero external dependencies - Serial execution: One task at a time for predictable, reviewable results
Prerequisites
- Node.js 20+
- pnpm 10+
- Claude Code CLI installed (
claudeon PATH) - GitHub CLI (
gh) installed and authenticated (gh auth login)
Quick Start
# Install dependencies
pnpm install
# Start the dev server
pnpm dev
# Open the board
open http://localhost:3000
On first launch, click + Project to register a git repository. Then create tasks and start the watcher.
MCP Installation
Register the Board MCP server with Claude Code so Claude can claim, submit, and query tasks:
claude mcp add board -- node /path/to/board/bin/mcp-server.ts
Or use the Settings page (/settings) in the UI — it shows the exact command with a copy button.
After registering, Claude Code can use these MCP tools:
| Tool | Purpose |
|---|---|
next-task |
Claim the highest-priority pending task |
submit-task |
Submit work for review (creates PR metadata) |
fail-task |
Mark a task as failed with error details |
get-task |
Query a task by ID |
list-tasks |
List tasks with optional project/status filters |
list-projects |
List all registered projects |
/board |
Slash command — quick task listing |
Development
pnpm dev # Start Next.js dev server
pnpm build # Production build
pnpm typecheck # TypeScript type checking (strict mode)
pnpm lint # ESLint
pnpm test # Unit + integration tests (Vitest)
pnpm test:watch # Tests in watch mode
pnpm test:e2e # End-to-end tests (Playwright)
Database
The SQLite database lives at ~/.board/board.db by default. Override with:
BOARD_DB_PATH=/custom/path.db pnpm dev
Logs
Structured logs are written to ~/.board/logs/board.log via pino. Log level can be adjusted:
BOARD_LOG_LEVEL=debug pnpm dev
Watcher Interval
For testing or faster iteration, override the watcher tick interval:
BOARD_WATCHER_INTERVAL_MS=5000 pnpm dev # 5s instead of 60s default
Architecture
Browser → Next.js Server (HTTP API + UI) → SQLite (WAL mode)
↕ shared lib/core
bin/mcp-server.ts ← Claude Code (stdio MCP)
Core design principles:
- Protocol-agnostic core —
lib/core/contains all business logic (state machine, repos). MCP and HTTP API are thin adapters over the same core. - Symmetric triggers — Manual slash commands and watcher spawns follow the same task lifecycle.
- Local-first — Listens on
127.0.0.1, SQLite single-file DB, no cloud dependencies.
Project Structure
app/
(ui)/ Board UI (page, settings, projects/new)
api/ REST API routes
components/
board/ Board-specific components
ui/ UI primitives (Button, Input, etc.)
lib/
core/ Protocol-agnostic core (state machine, repos, git, db)
mcp/ MCP server implementation
watcher/ Watcher scheduler + token detection
api/ API client + response helpers
hooks/ React hooks (SWR-based)
bin/
mcp-server.ts MCP entry point (Claude Code subprocess)
db/
schema.ts Drizzle ORM schema
tests/
unit/ Unit tests
integration/ API integration tests
e2e/ Playwright E2E tests
Testing
- Unit tests (
tests/unit/): Core logic — state machine, repos, detection patterns - Integration tests (
tests/integration/): API routes with real SQLite - E2E tests (
tests/e2e/): Full Playwright scenarios including watcher + token pause
E2E tests use stub claude and gh binaries to simulate Claude Code and GitHub CLI without real API calls.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router) + React 19 |
| Language | TypeScript 5.x (strict mode) |
| UI | Tailwind CSS v4 |
| Data Fetching | SWR |
| ORM | Drizzle ORM |
| Database | SQLite (better-sqlite3, WAL mode) |
| Validation | Zod |
| Logging | pino |
| Testing | Vitest + Playwright |
| Package Manager | pnpm |
License
Private project.
Installing Board
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/xinayida/kanban-boardFAQ
Is Board MCP free?
Yes, Board MCP is free — one-click install via Unyly at no cost.
Does Board need an API key?
No, Board runs without API keys or environment variables.
Is Board hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Board in Claude Desktop, Claude Code or Cursor?
Open Board on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Board with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
