๐Ÿš€ Socket Launch Week Day 4:Socket MCP Adds Org Alerts, Threat Feed Review, and Package Inspection.Learn more โ†’
Sign In

mcp-vibekanban

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mcp-vibekanban

Enhanced MCP server for Vibe Kanban โ€” simplified tools with env-based project/repo locking, real-time WebSocket streaming & session messaging

latest
Source
npmnpm
Version
3.1.7
Version published
Maintainers
1
Created
Source

๐Ÿ“‹ Vibe Kanban MCP ๐Ÿ“‹

Stop context-switching. Start shipping from your AI session.

The MCP bridge between your AI coding assistant and Vibe Kanban. Create tasks, launch workspace sessions, and message coding agents โ€” all without leaving your editor.

npm node ย ย โ€ขย ย  license platform

tools zero config

๐Ÿงญ Quick Navigation

โšก Get Started โ€ข ๐ŸŽฏ Why mcp-vibekanban โ€ข ๐ŸŽฎ Tools โ€ข โš™๏ธ Configuration โ€ข ๐Ÿ“š Workflows

The Pitch

mcp-vibekanban is the project management backbone for your AI coding assistant. Instead of alt-tabbing to a Kanban board, your AI creates tasks, launches coding agent sessions, and sends follow-up messages โ€” all through MCP. Project and repo IDs are locked via environment variables, so every tool call is clean and minimal.

๐Ÿ“‹

Task Management
Create, list, update, delete

๐Ÿš€

Workspace Sessions
Launch any coding agent

๐Ÿ’ฌ

Session Messaging
Follow-up + auto-queue

๐Ÿ”’

Env-Locked IDs
No ID juggling per call

Here's how it works:

  • You: "Create a task for adding OAuth, then start a Claude Code session on it."
  • AI + mcp-vibekanban: Creates the task, launches a workspace session, and gives you the session ID.
  • You: "Send a follow-up: add Google as an OAuth provider."
  • Result: The message is delivered (or auto-queued if the agent is busy). Zero browser tabs opened.

๐ŸŽฏ Why mcp-vibekanban

The official Vibe Kanban MCP requires passing project_id and repo_id in every call. mcp-vibekanban locks those via env vars and adds session messaging.

โŒ Old Way (Official MCP)โœ… New Way (mcp-vibekanban)
  • Call list_projects to find your project ID.
  • Call list_repos to find your repo ID.
  • Pass both IDs in every single tool call.
  • No way to message active sessions.
  • 13 tools with boilerplate in each call.
  • Set env vars once โ€” IDs are locked.
  • create_task(title="Add auth") โ€” done.
  • Launch sessions, send messages, check queues.
  • Auto-queue when executor is busy.
  • 12 focused tools, zero boilerplate. โ˜•

๐Ÿš€ Get Started in 60 Seconds

1. Prerequisites

You need Vibe Kanban running (the upstream project):

npx vibe-kanban              # default port 9119
# or: PORT=1990 npx vibe-kanban

2. Configure Your MCP Client

ClientConfig FileDocs
๐Ÿ–ฅ๏ธ Claude Desktopclaude_desktop_config.jsonSetup
โŒจ๏ธ Claude CodeCLI or ~/.claude.jsonSetup
๐ŸŽฏ Cursor / ๐Ÿ„ Windsurf.cursor/mcp.jsonSetup

Claude Desktop

Quick install:

npx install-mcp mcp-vibekanban --client claude-desktop \
  --env VKB_API_URL=https://your-vibekanban-instance.com \
  --env VKB_PROJECT_SLUG=your-project \
  --env VKB_REPOSITORY_SLUG=your-repo

Manual config โ€” add to claude_desktop_config.json:

{
  "mcpServers": {
    "vibekanban": {
      "command": "npx",
      "args": ["-y", "mcp-vibekanban"],
      "env": {
        "VKB_API_URL": "https://your-vibekanban-instance.com",
        "VKB_PROJECT_SLUG": "your-project",
        "VKB_REPOSITORY_SLUG": "your-repo"
      }
    }
  }
}

Claude Code CLI

claude mcp add vibekanban npx \
  --scope user \
  --env VKB_API_URL=https://your-vibekanban-instance.com \
  --env VKB_PROJECT_SLUG=your-project \
  --env VKB_REPOSITORY_SLUG=your-repo \
  -- -y mcp-vibekanban

Or manually add to ~/.claude.json:

{
  "mcpServers": {
    "vibekanban": {
      "command": "npx",
      "args": ["-y", "mcp-vibekanban"],
      "env": {
        "VKB_API_URL": "https://your-vibekanban-instance.com",
        "VKB_PROJECT_SLUG": "your-project",
        "VKB_REPOSITORY_SLUG": "your-repo"
      }
    }
  }
}

Cursor/Windsurf

Add to .cursor/mcp.json (or equivalent):

{
  "mcpServers": {
    "vibekanban": {
      "command": "npx",
      "args": ["-y", "mcp-vibekanban"],
      "env": {
        "VKB_API_URL": "https://your-vibekanban-instance.com",
        "VKB_PROJECT_SLUG": "your-project",
        "VKB_REPOSITORY_SLUG": "your-repo"
      }
    }
  }
}

Backward Compatibility: The old package name vibe-kanban-better-mcp still works as a binary alias. Existing configs don't need updating.

๐ŸŒ Transport Modes

Vibe Kanban supports three transport modes:

ModeUse CaseHow to Start
STDIO (default)Claude Desktop, Cursor, Windsurfnpx mcp-vibekanban
HTTP StreamableSelf-hosted, Docker, LAN sharingMCP_TRANSPORT=http npx mcp-vibekanban
Cloudflare WorkersServerless, globally distributedAlready deployed โ†“

Remote MCP (Cloudflare Workers)

A remote MCP endpoint is deployed and ready to use:

https://mcp-vibekanban.seodoold.workers.dev/mcp

Connect from any MCP client that supports HTTP Streamable transport:

{
  "mcpServers": {
    "vibekanban-remote": {
      "type": "streamable-http",
      "url": "https://mcp-vibekanban.seodoold.workers.dev/mcp"
    }
  }
}

Self-Hosted HTTP Streamable

# Start on default port 3001
MCP_TRANSPORT=http npx mcp-vibekanban

# Custom port
MCP_TRANSPORT=http MCP_PORT=8080 npx mcp-vibekanban
{
  "mcpServers": {
    "vibekanban-http": {
      "type": "streamable-http",
      "url": "http://localhost:3001/mcp"
    }
  }
}

๐ŸŽฎ Tool Reference

mcp-vibekanban exposes 12 MCP tools across three categories:

๐Ÿ“‹

get_context
Workspace info

๐Ÿ“

list_tasks
Filter & browse

โž•

create_task
New task

๐Ÿ”

get_task
Full details

โœ๏ธ

update_task
Edit & transition

๐Ÿ—‘๏ธ

delete_task
Remove task

๐Ÿš€

start_workspace_session
Launch agent

๐Ÿ“‚

list_sessions
All sessions

๐Ÿ“

get_session
Session info

๐Ÿ’ฌ

send_message
Follow-up

๐Ÿ“ค

get_queue_status
Pending check

๐Ÿšซ

cancel_queue
Clear queue

Task Management

get_context

Get current workspace context โ€” project, active task, and workspace info.

ParameterTypeRequiredDescription
(none)โ€”โ€”No parameters needed
get_context()

list_tasks

List tasks in the project, optionally filtered by status.

ParameterTypeRequiredDefaultDescription
statusstringNoalltodo ยท inprogress ยท inreview ยท done ยท cancelled
limitnumberNo50Max results (1โ€“100)
list_tasks(status="inprogress", limit=10)

create_task

Create a new task. Supports @tag expansion in descriptions.

ParameterTypeRequiredDescription
titlestringYesTask title (1โ€“500 chars)
descriptionstringNoDetails, supports @tag expansion
create_task(title="Add user auth", description="Implement OAuth with @google-auth")

get_task

Get full task details by ID.

ParameterTypeRequiredDescription
task_idstring (UUID)YesTask UUID
get_task(task_id="abc123...")

update_task

Update task title, description, or status. At least one field required.

ParameterTypeRequiredDescription
task_idstring (UUID)YesTask UUID
titlestringNoNew title
descriptionstringNoNew description
statusstringNotodo ยท inprogress ยท inreview ยท done ยท cancelled
update_task(task_id="abc123...", status="done")

delete_task

Permanently delete a task. Cannot be undone.

ParameterTypeRequiredDescription
task_idstring (UUID)YesTask UUID
delete_task(task_id="abc123...")

Session Management

start_workspace_session

Launch a coding agent session for a task. Creates workspace + session.

ParameterTypeRequiredDescription
task_idstring (UUID)YesTask UUID
executorstringYesclaude_code ยท amp ยท gemini ยท codex ยท opencode ยท cursor ยท qwen_code ยท copilot ยท droid
variantstringNoe.g., PLAN, IMPLEMENT
base_branchstringNoBranch to work from (default: main)
start_workspace_session(task_id="abc123...", executor="claude_code")

list_sessions

List all sessions for a workspace.

ParameterTypeRequiredDescription
workspace_idstring (UUID)YesWorkspace UUID
list_sessions(workspace_id="xyz789...")

get_session

Get session details including assigned executor.

ParameterTypeRequiredDescription
session_idstring (UUID)YesSession UUID
get_session(session_id="sess123...")

Messaging

send_message

Send a follow-up message to an active coding agent session. Auto-queues if the executor is busy.

ParameterTypeRequiredDefaultDescription
session_idstring (UUID)Yesโ€”Session UUID
promptstringYesโ€”Message to send
executorstringNoautoAuto-detected from session
variantstringNoโ€”e.g., PLAN
auto_queuebooleanNotrueQueue message if executor is busy
send_message(session_id="sess123...", prompt="Add error handling for edge cases")

get_queue_status

Check if a message is queued for a session.

ParameterTypeRequiredDescription
session_idstring (UUID)YesSession UUID
get_queue_status(session_id="sess123...")

cancel_queue

Cancel a pending queued message.

ParameterTypeRequiredDescription
session_idstring (UUID)YesSession UUID
cancel_queue(session_id="sess123...")

โš™๏ธ Environment Variables

VariableRequiredDefaultDescription
VKB_API_URLโœ… Yesโ€”Vibe Kanban instance URL (e.g., https://your-instance.com)
VKB_PROJECT_SLUGโœ… Yesโ€”Project slug or UUID โ€” locked for all tool calls
VKB_REPOSITORY_SLUGโœ… Yesโ€”Repository slug or UUID โ€” locked for all tool calls

All three variables are required and lock the project/repository context so you never need to pass IDs in individual tool calls.

Create โ†’ Launch โ†’ Message

The most common pattern: create a task, start a session, and iterate with follow-ups.

1. create_task(title="Add OAuth login")
   โ†’ Returns task_id

2. start_workspace_session(task_id="...", executor="claude_code")
   โ†’ Returns workspace_id

3. list_sessions(workspace_id="...")
   โ†’ Returns session_id

4. send_message(session_id="...", prompt="Add Google as a provider")
   โ†’ Sent (or auto-queued if busy)

5. get_queue_status(session_id="...")
   โ†’ Check pending messages

Triage & Prioritize

Review existing tasks and move them through your pipeline.

1. list_tasks(status="todo")
   โ†’ See all pending work

2. get_task(task_id="...")
   โ†’ Read full details

3. update_task(task_id="...", status="inprogress")
   โ†’ Move to active

4. start_workspace_session(task_id="...", executor="amp")
   โ†’ Hand off to a coding agent

Multi-Agent Orchestration

Run different agents on different tasks simultaneously.

1. create_task(title="Refactor auth module")
2. create_task(title="Write API tests")
3. create_task(title="Update migration guide")

4. start_workspace_session(task_id="task1", executor="claude_code")
5. start_workspace_session(task_id="task2", executor="gemini")
6. start_workspace_session(task_id="task3", executor="copilot")

๐Ÿ› ๏ธ Development

git clone https://github.com/yigitkonur/mcp-vibekanban.git
cd mcp-vibekanban
npm install
npm run dev        # Run with tsx (hot reload)
npm run build      # Compile TypeScript
npm start          # Run compiled output

Project Structure

src/
โ”œโ”€โ”€ index.ts          # Server entry point
โ”œโ”€โ”€ config.ts         # Env var loader & validation
โ”œโ”€โ”€ tools/
โ”‚   โ””โ”€โ”€ index.ts      # All 12 tool definitions
โ”œโ”€โ”€ api/              # Vibe Kanban HTTP client
โ”œโ”€โ”€ resources.ts      # MCP resource handlers
โ”œโ”€โ”€ tasks.ts          # Task primitive integration
โ””โ”€โ”€ utils/            # Formatter & progress helpers

๐Ÿ”ง Troubleshooting

Expand for troubleshooting tips
ProblemSolution
Server exits with "VKB_PROJECT_SLUG is required"Set all three required env vars: VKB_API_URL, VKB_PROJECT_SLUG, VKB_REPOSITORY_SLUG.
Connection refused / ECONNREFUSEDMake sure your Vibe Kanban instance is running and VKB_API_URL is correct.
EHOSTUNREACH on Apple SiliconThe HTTP client uses curl subprocess to work around ARM64 macOS network issues with Node.js native clients. Ensure curl is available.
"Unknown tool" errorVerify you're on the latest version: npx mcp-vibekanban@latest.
Send message returns "executor busy"This is normal. With auto_queue: true (default), the message is automatically queued and will execute when the current process completes.
Task ID format errorAll IDs must be valid UUIDs (e.g., 123e4567-e89b-12d3-a456-426614174000).
Old binary name still works?Yes โ€” vibe-kanban-better-mcp and vkb-mcp are kept as binary aliases for backward compatibility.

Keywords

mcp

FAQs

Package last updated on 15 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts