create-kanban-boardLABSCO SUMMARY
Task memory the agent has to respect, not just write down.
Column capacity limits are what separates this from a to-do list the model keeps for itself: the board refuses when it tries to start a fifth thing at once. Because the database sits in a folder you named, "find the board for this project and carry on" still works a week later, and you can open the web UI and reorder it yourself in between.
What it is
An MCP server with an embedded SQLite database and a web UI. The agent records its plan as tasks on a board and moves them between columns as it works; you watch and edit in the browser.
What you get
- create-kanban-board to open a board for a project
- add-task-to-board and delete-task to keep the board matching the plan
- move-task to advance a task, with column capacity — work-in-progress — limits enforced
- get-board-info and get-task-info, which is how a later session finds a board and reads what was already done
- State in an embedded SQLite database, so the board outlives the conversation
- A web UI for watching progress and editing tasks by hand
- Prompts for starting a project and for resuming one
Requirements
Node and a clone of the repository, built with npm across shared/db and mcp-server. One environment variable points at the folder holding the database files — it needs read and write access, and is created if it does not exist. A Docker image builds from the same repo — mount that folder at /mcp.
Setup effort
Build from source — git clone https://github.com/eyalzh/kanban-mcp.git
USE CASES
Turning a planning session into something that survives the chat
Have the assistant write the plan out as a board with tasks, stored in the database folder rather than in the conversation.
Picking up work a week after the planning happened
Locate the board, read its columns and open the task that was in progress when the last session ended.
Stopping an agent from starting six things and finishing none
Set column capacity on the board — the move is refused when the column is full, so work has to be closed before more is opened.
Watching a long build without interrupting it
The web UI reads the same database the agent writes to, so progress is visible and tasks can be edited or reordered by hand.
Dropping work that turned out to be unnecessary
Delete the task from the board so the plan matches reality rather than accumulating dead entries.
7 tools
Listed in project docs. Your client may show a different list.
add-task-to-boardmove-taskdelete-taskget-board-infoget-task-infolist-boardsBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/eyalzh/kanban-mcp.git
cd kanban-mcp
npm ci --prefix shared/db
npm ci --prefix mcp-server
npm run build --prefix shared/db
npm run build --prefix mcp-serverMCP Clients
Any MCP client
{
"mcpServers": {
"kanban-mcp": {
"command": "node",
"args": [
"<YOUR_PATH_TO_REPO>/mcp-server/dist/server.js"
],
"env": {
"MCP_KANBAN_DB_FOLDER_PATH": "<YOUR_MCP_KANBAN_DB_FOLDER_PATH>"
}
}
}
}<YOUR_PATH_TO_REPO> is the folder you cloned, and <YOUR_MCP_KANBAN_DB_FOLDER_PATH> is a folder for the database files — any folder you can read and write. It is created if it does not exist.
Any MCP client — Docker
In your clone, build the image:
docker build -t mcp/mcp-kanban .{
"mcpServers": {
"kanban-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"<YOUR_MCP_KANBAN_DB_FOLDER_PATH>:/mcp",
"mcp/mcp-kanban"
]
}
}
}<YOUR_MCP_KANBAN_DB_FOLDER_PATH> is a folder for the database files. It is mounted into the container at /mcp.