sanban
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., "@sanban create a new board for sprint planning"
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.
sanban
Simple kanban that just works. No bloat, no login, no SaaS.
JSON-backed boards with a REST API, MCP server, and a dark UI. For devs who want tasks tracked without the overhead.
Screenshots

Related MCP server: Obsidian Kanban MCP Server
Quick Start
uv sync
uv tool install .
sanban # http://localhost:8900The web server runs independently. Agents connect via MCP separately.
Setup with an AI Agent
Paste this into opencode, Claude Code, Cursor, or any AI agent — it will install sanban, start the server, register MCP, load the skill, and verify everything:
Clone https://github.com/aancw/sanban, run `uv tool install .` from inside the repo (binary lands at ~/.local/bin/sanban — ensure ~/.local/bin is on PATH, e.g. `export PATH="$HOME/.local/bin:$PATH"`), start the server with `sanban` running in the background (or nohup/disown), register it as an MCP server named "sanban" running `sanban --mcp-only`, copy SKILL.md from the cloned repo into the agent's skills folder (e.g. ~/.claude/skills/sanban/SKILL.md or ~/.agents/skills/sanban/SKILL.md), then call `list_boards` to confirm it works.Features
Multiple boards with custom columns
Drag-and-drop between columns
Priority, effort, tags, assignees, due dates
Full-text search and filters
Markdown in titles and descriptions (code blocks with syntax highlighting)
Edit and delete buttons on every card
Keyboard shortcuts (
/search,nnew,eexpand)Agent-ready via MCP server
Why
No database — one JSON file per board in
~/.sanban/boards/, easy to diff, commit, back upNo auth — local-first, runs on localhost
No framework — vanilla JS frontend, Geist font, dark mode
Multi-board — one server, unlimited boards
REST API
Method | Endpoint | Description |
|
| List all boards |
|
| Create board |
|
| Get board with items |
|
| Delete board |
|
| List items ( |
|
| Create item |
|
| Update item |
|
| Delete item |
|
| Search across boards |
MCP Server
Agents interact with boards via MCP stdio. This is a separate process from the web server — both read/write the same JSON files.
Agent Config (opencode.json)
{
"mcp": {
"sanban": {
"type": "local",
"command": ["sanban", "--mcp-only"],
"enabled": true
}
}
}Or running from source:
{
"mcp": {
"sanban": {
"type": "local",
"command": ["uv", "run", "--directory", "/path/to/sanban", "python", "-m", "sanban.server", "--mcp-only"],
"enabled": true
}
}
}Other agents: Adapt the config format for your CLI agent (Claude Desktop, Cursor, etc.). The command is always
sanban --mcp-only— only the config wrapper changes.
Tools
Tool | Description |
| List all boards |
| Create a new board |
| Get board details + items |
| Add an item |
| Update fields |
| Move to column |
| Remove item |
| Search across boards |
Run Modes
sanban # web server (REST API + UI) — keep this running
sanban --mcp-only # MCP stdio — for agent config
sanban --rest-only # REST only, no UI
sanban --port 9000 # custom portTypical setup: run sanban in a terminal (or background it), then add sanban --mcp-only to your agent config. Both use the same ~/.sanban/boards/ data.
Data
Boards live in ~/.sanban/boards/<id>.json. Override with SANBAN_DATA_DIR.
For Agents
See SKILL.md for the full agent reference — API examples, MCP tools, item fields, and keyboard shortcuts.
Tech
Python 3.10+, FastAPI, uvicorn, MCP SDK. No database, no framework, no build step.
License
MIT
Available Tools
8 toolscreate_boardA
Create a new kanban board.
Args: name: Board name columns: Column names (default: backlog, in_progress, done)
Inputs: name (required), columns. Returns: result
create_itemB
Create an item on a board.
Args: board_id: Board ID title: Item title status: Column/status to place it in description: Full description priority: critical/high/medium/low/none effort: XS/S/M/L/XL tags: List of tags assignee: Assigned person due_date: Due date (ISO format)
Inputs: board_id (required), title (required), status, description, +5 more. Returns: result
delete_itemC
Delete an item from a board.
Args: board_id: Board ID item_id: Item ID
Inputs: board_id (required), item_id (required). Returns: result
get_boardB
Get board details and all items.
Args: board_id: Board ID
Inputs: board_id (required). Returns: result
list_boardsA
List all kanban boards.
Inputs: no named parameters. Returns: result
move_itemB
Move an item to a different column/status.
Args: board_id: Board ID item_id: Item ID new_status: Target column name
Inputs: board_id (required), item_id (required), new_status (required). Returns: result
searchA
Search items across all boards or within a specific board.
Args: query: Search query board_id: Optional board ID to restrict search
Inputs: query (required), board_id. Returns: result
update_itemC
Update an item's fields.
Args: board_id: Board ID item_id: Item ID title: New title status: New status/column description: New description priority: New priority effort: New effort estimate tags: New tags list assignee: New assignee due_date: New due date sort_order: New sort order
Inputs: board_id (required), item_id (required), fields (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool has a clear, distinct purpose: board creation, item CRUD, movement, and search. No overlap in functionality.
Most tools follow a verb_noun pattern (e.g., create_item, delete_item). The 'search' tool deviates slightly without a noun, but it's a common, acceptable exception.
8 tools is well-scoped for a kanban board server, covering essential operations without excess.
Covers core item CRUD and board creation/listing, but missing board update and delete operations, which are notable gaps for full lifecycle management.
Maintenance
Related MCP Connectors
Kanban boards your AI agent can use: add, complete, move and recall tasks with your team.
A todo and task board in kanban form, driven from chat with full CRUD.
Task & board management for AI agents + humans. Kanban, comments, digests via MCP.
Read and manage your EasyKanban kanban boards: to-do summaries, create, update, and move cards.
Related MCP Servers
FlicenseAqualityDmaintenanceEnables AI agents to interact with Yokan Kanban Board API to manage boards, columns, and tasks through a tool-based interface.172-- AlicenseAqualityDmaintenanceEnables users to manage Obsidian Kanban boards within a vault by listing, reading, and creating boards or tasks. It supports moving tasks between columns and adding detailed task metadata via the Obsidian Kanban plugin.51ISC
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to create, update, list, and delete tasks on a Kanban board via the Model Context Protocol, supporting multi-project management and real-time collaboration.109MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to manage tasks in a kanban board organized as markdown files, with operations to create, update, delete, move tasks, manage lanes, and get statistics.1MIT