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.
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.
- 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
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.
