* 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
188 lines
7.2 KiB
Plaintext
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>
|