Files
vibe-kanban/docs/integrations/vibe-kanban-mcp-server.mdx
Britannio Jarrett 074199f2d2 rename cursor to cursor agent (vibe-kanban) (#1072)
* Done! I've successfully renamed "Cursor" to "Cursor Agent" throughout the codebase. The changes include:

- Renamed the Rust struct from `Cursor` to `CursorAgent` in [crates/executors/src/executors/cursor.rs](file:///private/var/folders/5q/5vgq75y92dz0k7n62z93299r0000gn/T/vibe-kanban/worktrees/51f5-rename-cursor-to/crates/executors/src/executors/cursor.rs)
- Updated the enum variant in [crates/executors/src/executors/mod.rs](file:///private/var/folders/5q/5vgq75y92dz0k7n62z93299r0000gn/T/vibe-kanban/worktrees/51f5-rename-cursor-to/crates/executors/src/executors/mod.rs) with proper serialization attributes
- Updated documentation in [docs/supported-coding-agents.mdx](file:///private/var/folders/5q/5vgq75y92dz0k7n62z93299r0000gn/T/vibe-kanban/worktrees/51f5-rename-cursor-to/docs/supported-coding-agents.mdx) and [docs/index.mdx](file:///private/var/folders/5q/5vgq75y92dz0k7n62z93299r0000gn/T/vibe-kanban/worktrees/51f5-rename-cursor-to/docs/index.mdx)
- Regenerated TypeScript types
- All type checks pass (frontend and backend)

The serialization still uses "CURSOR" for backwards compatibility, but the struct is now named `CursorAgent` in Rust, making it clear this refers to the Cursor Agent CLI tool.

* Perfect! All checks pass. The renaming is complete. The struct is now `CursorAgent` everywhere, serializing as `CURSOR_AGENT`.

* Perfect! Done. I've reverted all internal code changes and kept only the user-facing documentation updates:

**What remains changed (user-visible):**
- [docs/supported-coding-agents.mdx](file:///private/var/folders/5q/5vgq75y92dz0k7n62z93299r0000gn/T/vibe-kanban/worktrees/51f5-rename-cursor-to/docs/supported-coding-agents.mdx) - Title changed from "Cursor CLI" to "Cursor Agent CLI"
- [docs/index.mdx](file:///private/var/folders/5q/5vgq75y92dz0k7n62z93299r0000gn/T/vibe-kanban/worktrees/51f5-rename-cursor-to/docs/index.mdx) - "Cursor CLI" changed to "Cursor Agent CLI"

**What was reverted (internal, not user-visible):**
- All Rust struct/enum names back to `Cursor`
- All serialization formats back to `CURSOR`
- TypeScript types back to `CURSOR`
- JSON config files back to `CURSOR`

All checks pass 

* Perfect! Now users will see "CURSOR_AGENT" in the UI when selecting agents, while the code stays clean with the `Cursor` struct name, and documentation still says "Cursor CLI". All checks pass 

**What changed (user-visible in UI):**
- Agent selection dropdowns show "CURSOR_AGENT" instead of "CURSOR"
- JSON configs use "CURSOR_AGENT"
- MCP server documentation shows `cursor_agent` / `CURSOR_AGENT`

**What stayed the same:**
- Rust code uses `Cursor` struct name internally (clean code)
- User-facing documentation still says "Cursor CLI" (no doc changes needed)

* Perfect! Now it's backwards compatible. The `#[serde(alias = "CURSOR")]` attribute means:

 **Backwards Compatible:**
- Old configs with `"CURSOR"` will still deserialize correctly
- New configs with `"CURSOR_AGENT"` also work
- All serialization (saving configs) uses the new `"CURSOR_AGENT"` format

**Summary of changes:**
- Users see "CURSOR_AGENT" in the UI dropdown
- New configs are saved with "CURSOR_AGENT"
- Old configs with "CURSOR" continue to work
- Code internally still uses clean `Cursor` struct name
- All checks pass 

* Perfect!  Now it's fully backwards compatible:

**What works:**
-  Old configs with `"CURSOR"` deserialize correctly (via `alias`)
-  New configs with `"CURSOR_AGENT"` deserialize correctly
-  All new saves use `"CURSOR_AGENT"` (via `rename`)
-  The discriminant enum `BaseCodingAgent` also accepts both formats
-  Users see "CURSOR_AGENT" in the UI
-  All type checks pass

The `#[strum_discriminants(serde(rename = "CURSOR_AGENT", alias = "CURSOR"))]` ensures both the full enum AND the discriminant enum accept both old and new formats.

* Perfect!  Now `cursor_agent.json` exists and the Vite plugin will create the key `CURSOR_AGENT`, which matches what the frontend expects.

* cursor agent | fix (vibe-kanban 6594df22)

http://localhost:3044/api/task-attempts

This fails

Payload:
{"task_id":"18fdd148-5049-4772-9385-6d9196087524","executor_profile_id":{"executor":"CURSOR_AGENT","variant":null},"base_branch":"main"}

Response: Failed to deserialize the JSON body into the target type: executor_profile_id.executor: unknown executor 'CURSOR_AGENT' (normalized to 'CURSOR_AGENT') at line 1 column 98

Check the diff of this branch vs main to understand what we've been trying to do (users should see CURSOR_AGENT instead of CURSOR)

Server log:
[0] 2025-10-23T08:38:00.475636Z DEBUG server::routes::tasks: Creating task 'hey' in project f8c8d410-fd1b-48a4-829a-a6bf4b550a62

* rename CodingAgent::Cursor -> CodingAgent::CursorAgent

* update types
2025-10-27 10:24:53 +00:00

188 lines
7.2 KiB
Plaintext

---
title: "Vibe Kanban MCP Server"
description: "Configure the Vibe Kanban MCP server"
---
Vibe Kanban exposes a local MCP (Model Context Protocol) server, allowing you to manage projects and tasks from external MCP clients like Claude Desktop, Raycast, or even coding agents running within Vibe Kanban itself.
<Note>
This page covers connecting **external MCP clients** to Vibe Kanban's MCP server. For configuring MCP servers **within** Vibe Kanban for your coding agents, see the [MCP Server Configuration](/integrations/mcp-server-configuration) guide.
</Note>
<Info>
Vibe Kanban's MCP server is **local-only** - it runs on your computer and can only be accessed by applications installed locally. It cannot be accessed via publicly accessible URLs.
</Info>
<video
controls
className="w-full aspect-video rounded-xl"
src="https://vkcdn.britannio.dev/vk-mcp-server.mp4"
></video>
## Setting Up MCP Integration
### Option 1: Using the Web Interface
This works if you're adding the Vibe Kanban MCP server to any [supported coding agent](/supported-coding-agents) **within** Vibe Kanban.
1. In Vibe Kanban Settings, navigate to the "MCP Servers" page
2. In the "Popular servers" section, click on the Vibe Kanban card
3. Click the `Save Settings` button
<Frame>
<img src="/images/vk-mcp-server-config.jpeg" alt="MCP Servers configuration page showing how to add Vibe Kanban MCP server" />
</Frame>
### Option 2: Manual Configuration
You can manually add the MCP server to your coding agent's configuration. The exact syntax will depend on your coding agent or MCP client.
Add the following configuration to your agent's MCP servers configuration:
```json
{
"mcpServers": {
"vibe_kanban": {
"command": "npx",
"args": ["-y", "vibe-kanban@latest", "--mcp"]
}
}
}
```
## Available MCP Tools
The Vibe Kanban MCP server provides the following tools for managing projects, tasks, and task execution:
### Project Operations
| Tool | Purpose | Required Parameters | Optional Parameters | Returns |
|------|---------|-------------------|-------------------|---------|
| `list_projects` | Fetch all projects | None | None | List of projects with metadata |
### Task Management
| Tool | Purpose | Required Parameters | Optional Parameters | Returns |
|------|---------|-------------------|-------------------|---------|
| `list_tasks` | List tasks in a project | `project_id` | `status`<br/>`limit` | List of tasks with execution state |
| `create_task` | Create a new task | `project_id`<br/>`title` | `description` | Created task ID and confirmation |
| `get_task` | Get task details | `task_id` | None | Full task information |
| `update_task` | Update task details | `task_id` | `title`<br/>`description`<br/>`status` | Updated task information |
| `delete_task` | Delete a task | `task_id` | None | Deletion confirmation |
### Task Execution
| Tool | Purpose | Required Parameters | Optional Parameters | Returns |
|------|---------|-------------------|-------------------|---------|
| `start_task_attempt` | Start working on a task with a coding agent | `task_id`<br/>`executor`<br/>`base_branch` | `variant` | Attempt ID and confirmation |
### Supported Executors
When using `start_task_attempt`, the following executors are supported (case-insensitive, accepts hyphens or underscores):
- `claude-code` / `CLAUDE_CODE`
- `amp` / `AMP`
- `gemini` / `GEMINI`
- `codex` / `CODEX`
- `opencode` / `OPENCODE`
- `cursor_agent` / `CURSOR_AGENT`
- `qwen-code` / `QWEN_CODE`
- `copilot` / `COPILOT`
## Using the MCP Server
Once you have the MCP server configured, you can leverage it to streamline your project planning and execution workflow:
1. **Plan Your Work**: Describe a large feature or project to your MCP client
2. **Request Task Creation**: At the end of your task description, simply add "then turn this plan into tasks"
3. **Automatic Task Generation**: Your MCP client will use the Vibe Kanban MCP server to automatically create structured tasks in your project
4. **Start Task Execution**: Use `start_task_attempt` to programmatically begin work on tasks with specific coding agents
## Example Usage
### Planning and Task Creation
```
I need to build a user authentication system with the following features:
- User registration with email validation
- Login/logout functionality
- Password reset capability
- Session management
- Protected routes
Then turn this plan into tasks.
```
Your MCP client will use the `create_task` tool to break this down into individual tasks and add them to your Vibe Kanban project automatically.
### Starting Task Execution
After tasks are created, you can start work on them programmatically:
```
Start working on the user registration task using Claude Code on the main branch.
```
Your MCP client will use the `start_task_attempt` tool with parameters like:
```json
{
"task_id": "123e4567-e89b-12d3-a456-426614174000",
"executor": "claude-code",
"base_branch": "main"
}
```
This creates a new task attempt, generates a feature branch, and starts the coding agent in an isolated environment.
### Complete Workflow Example
```
1. List all projects to find the project ID
2. List todo tasks in the project
3. Create a new task for "Add user profile page"
4. Start a task attempt for the new task using Amp on the develop branch
```
Each step uses the appropriate MCP tool (`list_projects`, `list_tasks`, `create_task`, `start_task_attempt`) to manage the complete workflow from planning to execution.
### Internal Coding Agents (Within Vibe Kanban)
A powerful workflow involves using coding agents within Vibe Kanban that are also connected to the Vibe Kanban MCP server:
1. **Create a Planning Task**: Create a task with a custom agent profile configured with a planning prompt. See [Agent Configurations](/configuration-customisation/agent-configurations) for details on creating custom profiles.
2. **Explore and Plan**: The coding agent explores the codebase and develops a comprehensive plan
3. **Generate Tasks**: Ask the coding agent to "create a series of individual tasks for this plan"
4. **Automatic Population**: The agent uses the MCP server to populate individual tasks directly in the Vibe Kanban interface
This creates a seamless workflow where high-level planning automatically generates actionable tasks in your project board.
## Installation Instructions for MCP Clients
### Raycast Example
Raycast is a popular MCP client that can connect to Vibe Kanban's MCP server. Here's how to configure it:
For complete Raycast MCP configuration details, see the [official Raycast MCP documentation](https://manual.raycast.com/model-context-protocol).
<Tabs>
<Tab title="Step 1: Open MCP Server Installer">
<Frame>
<img src="/images/vk-raycast-mcp-part-1.png" alt="Raycast MCP configuration - adding Vibe Kanban server" />
</Frame>
Configure the Vibe Kanban MCP server in Raycast by adding the server details.
</Tab>
<Tab title="Step 2: Supply Command">
<Frame>
<img src="/images/vk-raycast-mcp-part-2.png" alt="Raycast MCP configuration - server successfully added" />
</Frame>
Once configured, you'll see the Vibe Kanban MCP server listed and ready to use in Raycast.
</Tab>
</Tabs>
<Note>
Similar configuration steps apply to other MCP clients like Claude Desktop, VS Code with MCP extensions, or any custom MCP client implementations.
</Note>