Home · Setup · Claude Desktop
A task board per project that hands off to the time tracker. It keeps tasks per project in columns with due dates, estimates, priorities and tags, shows the board, overdue items and a weekly review of planned versus done, and starts a time-tracker timer from a task with the link recorded on it.
The board sits open in the same window all day, so "what's overdue" and "start the timer on NOVA-3" are the two questions worth asking here before you touch anything else, since both read the same file this client already has a path to.
| You say | Tool |
|---|---|
| Add a task to the nova site board: write the launch email, due Friday, 90 minutes. | task_add |
| What's overdue, and start the timer on the API task. | overdue then task_start_timer |
| Weekly review. | weekly_review |
Two server processes on one data directory firing 40 concurrent task_add calls at the same board all persisted with unique ids and the counter landed on exactly 41, which is what the advisory lock around the id counter is there to guarantee.
The file is claude_desktop_config.json, and the key inside it is mcpServers.
| Scope | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
{
"mcpServers": {
"kanban": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-kanban"]
}
}
}
If node came from nvm, asdf or homebrew, replace "npx" with the absolute path that which npx prints:
"command": "/Users/you/.nvm/versions/node/v22.14.0/bin/npx"
Save, then completely quit Claude Desktop and start it again. A window reload is not enough.
The npm publish of @theluckystrike/mcp-kanban is pending; until then use the .mcpb bundle or a clone and build from the latest release.
There is no hosted endpoint for this one yet. MCP Kanban runs locally over stdio with the config above, which is also the only form in which it reads and writes files on your own disk. Three of the servers in this collection are served at https://mcp.zovo.one/mcp/<name> over MCP streamable HTTP: time-tracker, price-tracker and invoice.
Two documented facts decide whether the entry works: every path in claude_desktop_config.json must be absolute, and a stdio server started here inherits only a limited, platform-dependent subset of environment variables. If node came from nvm or homebrew, paste what `which npx` prints instead of the bare word. The .mcpb route avoids both: Claude Desktop ships a built-in Node.js environment.
Free: 3 project boards, 200 open tasks, the default five columns. Pro is $19 once, verified offline.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json. Windows: %APPDATA%\Claude\claude_desktop_config.json. There is no published Linux path. Settings, Developer, Edit Config opens the right copy and creates it if it does not exist.
In order: did you fully quit and restart, not just close the window? Is every path absolute? And is the command resolvable, given the limited environment a stdio server inherits here? If node came from nvm, paste what which npx prints.
Yes. An .mcpb bundle, the format renamed from .dxt, opens with Claude and shows an installation dialog. One you built yourself goes in through Settings, Extensions, Advanced settings, Install Extension.
MCP Kanban in detail · The same server in Claude.ai and Claude Desktop connectors and Claude Code · Every server in Claude Desktop · Guides · Claude Desktop docs