Skip to content

feat: Kanban MCP — persistent boards with multi-session, semantic search, and web UI#24

Merged
Joao208 merged 2 commits into
mainfrom
joaobarros-/-kanban-mcp
Mar 31, 2026
Merged

feat: Kanban MCP — persistent boards with multi-session, semantic search, and web UI#24
Joao208 merged 2 commits into
mainfrom
joaobarros-/-kanban-mcp

Conversation

@Joao208

@Joao208 Joao208 commented Mar 31, 2026

Copy link
Copy Markdown
Contributor

What

New @arvoretech/kanban-mcp package — persistent kanban boards for AI agents with multi-session coordination, semantic search via LanceDB, and a Linear-style web UI.

Why

Agents lose track of work between sessions. When multiple chats are open in parallel, there's no way to know what each one is doing. This MCP gives agents a shared kanban board where they can claim cards, track progress, and coordinate.

Changes

MCP Server (packages/kanban/)

  • 12 MCP tools: list_boards, create_board, get_board, get_card, create_card, update_card, move_card, claim_card, release_card, search_cards, archive_card, delete_card
  • Multi-session: claim_card/release_card with session_log for cross-chat coordination
  • Semantic search via LanceDB with multilingual embeddings (keyword fallback)
  • Subtasks via parent_card_id
  • JSON persistence with atomic writes (.tmp + rename)
  • Re-read from disk before every read for multi-process visibility
  • KANBAN_DEFAULT_RELEASE_STATUS defaults to review

HTTP Server + Web UI (packages/kanban/ui/)

  • Express API server (enabled via KANBAN_UI=true)
  • React + Vite + Tailwind CSS + shadcn/ui
  • Linear-style dark theme (#0a0a0f, #131320, accent #5e6ad2)
  • @dnd-kit/react drag-and-drop between columns
  • Hotkeys: C create, / search, Esc close, ←→ navigate, Backspace archive
  • Right-click context menu: priority, move to column, archive, delete
  • Card detail slide-in panel with editable title/description, properties, subtasks, activity log
  • 3s polling for real-time updates

Env vars

Variable Default Description
KANBAN_PATH ./kanban Data directory
KANBAN_EMBEDDING_MODEL Xenova/paraphrase-multilingual-MiniLM-L12-v2 Embedding model
KANBAN_DEFAULT_RELEASE_STATUS review Default release status
KANBAN_UI false Enable web UI
KANBAN_PORT 4799 Web UI port

How to test

cd packages/kanban
pnpm install
pnpm build
cd ui && pnpm install && npx vite build && cd ..
KANBAN_UI=true KANBAN_PATH=./test-data node dist/index.js
# Open http://localhost:4799

…i-session, semantic search, and web UI

- 12 MCP tools: list_boards, create_board, get_board, get_card, create_card, update_card, move_card, claim_card, release_card, search_cards, archive_card, delete_card
- Multi-session: claim/release cards with session_log for cross-chat coordination
- Semantic search via LanceDB with multilingual embeddings
- Subtasks via parent_card_id
- HTTP server (KANBAN_UI=true) with Express API + React web UI
- Web UI: Linear-style dark theme, shadcn/ui, dnd-kit drag-and-drop, hotkeys, context menus
- KANBAN_DEFAULT_RELEASE_STATUS defaults to review
- Atomic JSON writes with .tmp + rename, re-read from disk for multi-process visibility
@coderabbitai

coderabbitai Bot commented Mar 31, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@Joao208 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 5 minutes and 13 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 5 minutes and 13 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 18fdab01-b50c-4b93-840d-721014c262e3

📥 Commits

Reviewing files that changed from the base of the PR and between bb63260 and 65ee01b.

📒 Files selected for processing (42)
  • packages/kanban/package.json
  • packages/kanban/src/embeddings.ts
  • packages/kanban/src/http.ts
  • packages/kanban/src/index.ts
  • packages/kanban/src/server.ts
  • packages/kanban/src/store.ts
  • packages/kanban/src/tools.ts
  • packages/kanban/src/types.ts
  • packages/kanban/tsconfig.json
  • packages/kanban/ui/index.html
  • packages/kanban/ui/package.json
  • packages/kanban/ui/postcss.config.js
  • packages/kanban/ui/src/App.tsx
  • packages/kanban/ui/src/api.ts
  • packages/kanban/ui/src/components/BoardColumn.tsx
  • packages/kanban/ui/src/components/BoardSelector.tsx
  • packages/kanban/ui/src/components/BoardView.tsx
  • packages/kanban/ui/src/components/CardContextMenu.tsx
  • packages/kanban/ui/src/components/CardDetail.tsx
  • packages/kanban/ui/src/components/CardItem.tsx
  • packages/kanban/ui/src/components/CreateCardDialog.tsx
  • packages/kanban/ui/src/components/Header.tsx
  • packages/kanban/ui/src/components/PriorityIcon.tsx
  • packages/kanban/ui/src/components/SessionBadge.tsx
  • packages/kanban/ui/src/components/ui/badge.tsx
  • packages/kanban/ui/src/components/ui/button.tsx
  • packages/kanban/ui/src/components/ui/command.tsx
  • packages/kanban/ui/src/components/ui/context-menu.tsx
  • packages/kanban/ui/src/components/ui/dialog.tsx
  • packages/kanban/ui/src/components/ui/dropdown-menu.tsx
  • packages/kanban/ui/src/components/ui/input.tsx
  • packages/kanban/ui/src/components/ui/scroll-area.tsx
  • packages/kanban/ui/src/components/ui/separator.tsx
  • packages/kanban/ui/src/components/ui/tooltip.tsx
  • packages/kanban/ui/src/hooks/useHotkeys.ts
  • packages/kanban/ui/src/index.css
  • packages/kanban/ui/src/lib/utils.ts
  • packages/kanban/ui/src/main.tsx
  • packages/kanban/ui/src/types.ts
  • packages/kanban/ui/tailwind.config.js
  • packages/kanban/ui/tsconfig.json
  • packages/kanban/ui/vite.config.ts
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch joaobarros-/-kanban-mcp

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Joao208 Joao208 merged commit bb3018c into main Mar 31, 2026
5 checks passed
@Joao208 Joao208 deleted the joaobarros-/-kanban-mcp branch March 31, 2026 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant