···11+---
22+title: MCP
33+description: Connect Kaneo to MCP clients like Cursor and Claude Desktop using the official Kaneo MCP server.
44+---
55+66+Kaneo ships an official MCP server package, `@kaneo/mcp`, so you can manage workspaces, projects, tasks, comments, and labels from MCP-compatible tools.
77+88+The server runs locally over stdio and authenticates with Kaneo using device authorization.
99+1010+## Prerequisites
1111+1212+- Node.js 20 or newer
1313+- A running Kaneo API
1414+- Access to the Kaneo web app to approve device login
1515+1616+By default, self-hosted Kaneo allows both `kaneo-cli` and `kaneo-mcp` as device auth client IDs.
1717+1818+## Install and register
1919+2020+Use the recommended interactive installer:
2121+2222+```bash
2323+npx @kaneo/mcp
2424+```
2525+2626+The installer lets you choose where to register the server configuration:
2727+2828+- Cursor (user-wide)
2929+- Cursor (project-level)
3030+- Claude Desktop
3131+- Custom JSON config path
3232+3333+You can also run the explicit install command:
3434+3535+```bash
3636+kaneo-mcp install --target cursor-user -y
3737+```
3838+3939+Use `--help` to see all available targets and flags:
4040+4141+```bash
4242+kaneo-mcp install --help
4343+```
4444+4545+## Point to a self-hosted instance
4646+4747+When generating config, pass your Kaneo base URL:
4848+4949+```bash
5050+kaneo-mcp install --target cursor-user -y --api-url https://kaneo.example.com
5151+```
5252+5353+Or set it via environment variable:
5454+5555+| Variable | Description |
5656+| --- | --- |
5757+| `KANEO_API_URL` | Kaneo API origin. Default: `http://localhost:1337`. Do not include `/api`. |
5858+| `KANEO_MCP_CLIENT_ID` | Device auth client ID. Default: `kaneo-mcp`. |
5959+6060+If you override `KANEO_MCP_CLIENT_ID`, make sure it is included in [`DEVICE_AUTH_CLIENT_IDS`](/core/installation/environment-variables).
6161+6262+## Authentication flow
6363+6464+On the first tool call that needs Kaneo access, the MCP server:
6565+6666+1. Requests a device code from Kaneo
6767+2. Prints a verification URL and user code
6868+3. Opens the browser when possible
6969+4. Polls until you approve sign-in
7070+5. Stores credentials in `~/.config/kaneo-mcp/credentials.json`
7171+7272+## Available tools
7373+7474+Current MCP tools include:
7575+7676+- Session: `whoami`, `list_workspaces`
7777+- Projects: `list_projects`, `get_project`, `create_project`, `update_project`
7878+- Tasks: `list_tasks`, `get_task`, `create_task`, `update_task`, `move_task`, `update_task_status`
7979+- Comments: `list_task_comments`, `create_task_comment`
8080+- Labels: `list_workspace_labels`, `create_label`, `attach_label_to_task`, `detach_label_from_task`
8181+8282+## Run manually for debugging
8383+8484+To run the stdio server directly:
8585+8686+```bash
8787+npx @kaneo/mcp serve
8888+```
8989+9090+When running from source in this monorepo:
9191+9292+```bash
9393+pnpm --filter @kaneo/mcp run build
9494+pnpm --filter @kaneo/mcp run start
9595+```
9696+