sanban
Click on "Install 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., "@sanbancreate 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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aancw/sanban'
If you have feedback or need assistance with the MCP directory API, please join our Discord server