What Is the MCP Server in Kaneo and Which Tools Does It Provide?
Kaneo includes an official MCP (Model Context Protocol) server that exposes 20+ programmatic tools for managing workspaces, projects, tasks, labels, and comments via AI assistants like Claude and Cursor.
The Kaneo MCP server bridges AI-powered development environments with your Kanban instance through the Model Context Protocol standard. Implemented in the packages/mcp package, this server enables both interactive device-flow authentication for local development and API key-based authentication for headless deployments. According to the Kaneo source code, the server supports stdio transport for CLI tools and an HTTP endpoint for direct API integration.
MCP Server Architecture and Entry Points
The Kaneo MCP server consists of three core components working together to provide seamless AI integration.
Server Implementation (packages/mcp/src/server.ts)
The primary server implementation lives in [packages/mcp/src/server.ts](https://github.com/usekaneo/kaneo/blob/main/packages/mcp/src/server.ts). This file handles:
- stdio transport for MCP client communication
- Token management and refresh cycles
- Tool registration and execution routing
- Device flow orchestration for initial authentication
CLI Entry Point (packages/mcp/src/cli.ts)
The command-line interface is defined in [packages/mcp/src/cli.ts](https://github.com/usekaneo/kaneo/blob/main/packages/mcp/src/cli.ts). This provides the kaneo-mcp binary with subcommands for each tool and an interactive installer that registers the server with Claude or Cursor configuration files.
API Route Registration (apps/api/src/mcp/index.ts)
The HTTP endpoint is wired up in [apps/api/src/mcp/index.ts](https://github.com/usekaneo/kaneo/blob/main/apps/api/src/mcp/index.ts). This registers the /api/mcp route on the Kaneo API server and exposes OpenAPI documentation for direct HTTP clients.
Complete Tool Reference for the Kaneo MCP Server
The Kaneo MCP server organizes its 20+ tools into six functional categories. Each tool maps to a CLI command when using the kaneo-mcp binary.
Session Tools
| Tool | Purpose |
|---|---|
whoami |
Returns the authenticated user's profile |
list_workspaces |
Enumerates accessible workspaces |
Project Management Tools
| Tool | Purpose |
|---|---|
list_projects |
Returns all projects in the current workspace |
get_project |
Fetches details for a specific project by ID |
create_project |
Creates a new project with name, description, and settings |
update_project |
Modifies project metadata and configuration |
Task Operations Tools
| Tool | Purpose |
|---|---|
list_tasks |
Lists tasks with optional filtering by project or status |
get_task |
Retrieves full task details including description and assignees |
create_task |
Creates a task with title, description, and project assignment |
move_task |
Changes task position within or between columns |
update_task_status |
Updates workflow state (e.g., Todo → In Progress → Done) |
update_task |
General-purpose task field modification |
Comment Tools
| Tool | Purpose |
|---|---|
list_task_comments |
Retrieves comment thread for a specific task |
create_task_comment |
Adds a new comment to a task |
update_task_comment |
Edits existing comment content |
delete_task_comment |
Removes a comment by ID |
Label Management Tools
| Tool | Purpose |
|---|---|
list_workspace_labels |
Shows all label definitions in the workspace |
create_label |
Defines a new label with color and name |
attach_label_to_task |
Associates an existing label with a task |
detach_label_from_task |
Removes label association from a task |
delete_label |
Permanently removes a label from the workspace |
Task Relation Tools
| Tool | Purpose |
|---|---|
create_task_relation |
Establishes dependencies or blockers between tasks |
get_task_relations |
Fetches all relationships for a given task |
delete_task_relation |
Removes a previously created task relationship |
Authentication: Device Flow vs. API Key
The Kaneo MCP server supports two authentication modes as implemented in the source code.
Interactive Device Flow (Default)
First-time tool execution triggers OAuth 2.0 device flow authentication:
- Server requests device code via
POST /api/auth/device/code - CLI displays verification URL and user code
- User authorizes through browser
- Server polls for approval and caches refresh token
npx @kaneo/mcp
# → Launches interactive installer
# → Prompts for Claude/Cursor config registration
# → Initiates device flow on first API call
Headless API Key Authentication
For CI/CD pipelines and server environments, set KANEO_API_KEY to bypass interactive flow entirely:
export KANEO_API_KEY="kan_live_..."
kaneo-mcp list_projects
Installation and Usage Examples
Running the Interactive Installer
npx @kaneo/mcp
This command prompts you to register the MCP server in Claude or Cursor configuration files.
Starting the Stdio Server Manually
npx @kaneo/mcp serve
# Or after global install:
kaneo-mcp serve
Listing All Projects
kaneo-mcp list_projects
Output format (JSON array):
[
{"id":"c1x9a2b3c4d5","name":"Demo Project","createdAt":"2024-01-15T08:30:00Z"},
{"id":"c1x9a2b3c4d6","name":"Q1 Roadmap","createdAt":"2024-01-16T14:22:00Z"}
]
Creating a New Task
kaneo-mcp create_task \
--project-id c1x9a2b3c4d5 \
--title "Write knowledge-base article" \
--description "Explain MCP server architecture and available tools"
Attaching a Label to a Task
kaneo-mcp attach_label_to_task \
--task-id t1y7b8c9d0e1 \
--label-id l2z3a4b5c6d7
Direct HTTP API Access
When the Kaneo API server is running, access tools via the HTTP endpoint:
curl http://localhost:1337/api/mcp \
-H "Authorization: Bearer kan_live_..." \
-H "Content-Type: application/json" \
-d '{"tool":"list_projects","params":{}}'
Key Source Files Reference
| File | Role |
|---|---|
[packages/mcp/src/server.ts](https://github.com/usekaneo/kaneo/blob/main/packages/mcp/src/server.ts) |
Core MCP server implementation with stdio transport and token handling |
[packages/mcp/src/cli.ts](https://github.com/usekaneo/kaneo/blob/main/packages/mcp/src/cli.ts) |
CLI definition, subcommand routing, and installer UI |
[apps/api/src/mcp/index.ts](https://github.com/usekaneo/kaneo/blob/main/apps/api/src/mcp/index.ts) |
HTTP /api/mcp route registration and OpenAPI docs |
[packages/mcp/README.md](https://github.com/usekaneo/kaneo/blob/main/packages/mcp/README.md) |
Official documentation covering installation and tool reference |
[tests/api-integration/mcp-oauth-store.test.ts](https://github.com/usekaneo/kaneo/blob/main/tests/api-integration/mcp-oauth-store.test.ts) |
Integration tests validating OAuth flow implementation |
Summary
- The Kaneo MCP server is an official Model Context Protocol implementation enabling AI assistants to manage Kanban data programmatically
- 20+ tools cover session, project, task, comment, label, and task-relation operations
- Dual transport support: stdio for CLI tools (
kaneo-mcp) and HTTP for direct API access (/api/mcp) - Flexible authentication: Interactive device flow for developers,
KANEO_API_KEYfor automated environments - Core implementation spans three files:
server.ts(transport),cli.ts(commands), andapps/api/src/mcp/index.ts(HTTP routing)
Frequently Asked Questions
How do I install the Kaneo MCP server?
Run npx @kaneo/mcp for interactive installation, which registers the server with Claude or Cursor. For manual setup, install globally with npm install -g @kaneo/mcp and run kaneo-mcp serve to start the stdio server.
What authentication methods does the Kaneo MCP server support?
The server supports OAuth 2.0 device flow for interactive use and API key authentication via the KANEO_API_KEY environment variable for headless environments. Device flow is implemented in packages/mcp/src/server.ts using the /api/auth/device/code endpoint.
Can I call Kaneo MCP tools via HTTP instead of the CLI?
Yes. The Kaneo API server exposes an HTTP MCP endpoint at /api/mcp as registered in apps/api/src/mcp/index.ts. Send POST requests with tool name and parameters as JSON, including your API key in the Authorization header.
Which AI clients are compatible with the Kaneo MCP server?
Any MCP-compatible client works, including Claude Desktop, Cursor, and generic MCP clients. The npx @kaneo/mcp installer specifically targets Claude and Cursor configuration files for automatic registration.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →