Kaiten MCP with team hosting

kaiten-mcp

A Kaiten MCP server on PyPI with local stdio and a remote Streamable HTTP mode for a whole team via Docker or Kubernetes

MCP server

High risk

We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.

Why this level

  • Creates and updates cards on a real board
  • In team mode the server is hosted separately, tokens are passed to its side
All reasons and checks
Russian stack

evvfebruary/kaiten-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/evvfebruary-kaiten-mcp

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

This entry is high risk, so there is no one-click install. Review the code and add the config by hand.

Run in a terminal

claude mcp add --transport stdio --env 'KAITEN_API_TOKEN=<your KAITEN_API_TOKEN>' kaiten-mcp -- uvx kaiten-mcp==0.1.0

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "kaiten-mcp": {
      "command": "uvx",
      "args": [
        "kaiten-mcp==0.1.0"
      ],
      "env": {
        "KAITEN_API_TOKEN": "<your KAITEN_API_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.cursor/mcp.json, for all projects

{
  "mcpServers": {
    "kaiten-mcp": {
      "command": "uvx",
      "args": [
        "kaiten-mcp==0.1.0"
      ],
      "env": {
        "KAITEN_API_TOKEN": "<your KAITEN_API_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

code --add-mcp '{"name":"kaiten-mcp","type":"stdio","command":"uvx","args":["kaiten-mcp==0.1.0"],"env":{"KAITEN_API_TOKEN":"<your KAITEN_API_TOKEN>"}}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "kaiten-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "kaiten-mcp==0.1.0"
      ],
      "env": {
        "KAITEN_API_TOKEN": "<your KAITEN_API_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the servers key.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

codex mcp add kaiten-mcp --env 'KAITEN_API_TOKEN=<your KAITEN_API_TOKEN>' -- uvx kaiten-mcp==0.1.0

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.kaiten-mcp]
command = "uvx"
args = ["kaiten-mcp==0.1.0"]
env = { KAITEN_API_TOKEN = "<your KAITEN_API_TOKEN>" }

If the file already exists, append the block to the end.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

gemini mcp add -s user -e 'KAITEN_API_TOKEN=<your KAITEN_API_TOKEN>' kaiten-mcp uvx kaiten-mcp==0.1.0

Or add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "kaiten-mcp": {
      "command": "uvx",
      "args": [
        "kaiten-mcp==0.1.0"
      ],
      "env": {
        "KAITEN_API_TOKEN": "<your KAITEN_API_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/devin/mcp_config.json, for all projects

{
  "mcpServers": {
    "kaiten-mcp": {
      "command": "uvx",
      "args": [
        "kaiten-mcp==0.1.0"
      ],
      "env": {
        "KAITEN_API_TOKEN": "<your KAITEN_API_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Formerly Windsurf.

Add to the file cline_mcp_settings.json, for all projects

{
  "mcpServers": {
    "kaiten-mcp": {
      "command": "uvx",
      "args": [
        "kaiten-mcp==0.1.0"
      ],
      "env": {
        "KAITEN_API_TOKEN": "<your KAITEN_API_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .roo/mcp.json, in the project

{
  "mcpServers": {
    "kaiten-mcp": {
      "command": "uvx",
      "args": [
        "kaiten-mcp==0.1.0"
      ],
      "env": {
        "KAITEN_API_TOKEN": "<your KAITEN_API_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

A fork of Roo Code, same .roo folders.

Add to the file opencode.json, in the project

{
  "mcp": {
    "kaiten-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "kaiten-mcp==0.1.0"
      ],
      "environment": {
        "KAITEN_API_TOKEN": "<your KAITEN_API_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcp key.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/zed/settings.json, for all projects

{
  "context_servers": {
    "kaiten-mcp": {
      "command": "uvx",
      "args": [
        "kaiten-mcp==0.1.0"
      ],
      "env": {
        "KAITEN_API_TOKEN": "<your KAITEN_API_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .codeassistant/mcp.json, in the project

{
  "mcpServers": {
    "kaiten-mcp": {
      "command": "uvx",
      "args": [
        "kaiten-mcp==0.1.0"
      ],
      "env": {
        "KAITEN_API_TOKEN": "<your KAITEN_API_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

KAITEN_API_TOKENsecret, required
Kaiten API token from Profile > API key.
KAITEN_WORKSPACE_SLUGoptional
Kaiten workspace slug. Required unless KAITEN_BASE_URL is set.
KAITEN_BASE_URLoptional
Full Kaiten API root for on-prem or custom domains. Required unless KAITEN_WORKSPACE_SLUG is set.

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

You will need: uv

Checked against the repository on Sep 25, 2026, commit 428aa1f.

Text for your agent

Export KAITEN_API_TOKEN and KAITEN_WORKSPACE_SLUG, then run the server with uvx kaiten-mcp --transport stdio, or add it to Claude Code with claude mcp add --transport stdio kaiten -- uv run kaiten-mcp --transport stdio.

Other ways from the author
uvx kaiten-mcp --transport stdio

Requires KAITEN_API_TOKEN and KAITEN_WORKSPACE_SLUG in the environment.

This is third-party code. Review the repository files before installing.

What it does

The server connects Kaiten spaces, boards, columns and lanes to tasks: list spaces and boards, create and update cards, a compact filtered task list, moves between columns, comments and tags. It runs locally over stdio via uvx with no repository clone, or as a remote Streamable HTTP server in Docker or Kubernetes, where each team member passes their own Kaiten token in the request header. Responses default to key fields only, paginated at 20 items, to keep the model's context small, and payload size is checked by dedicated benchmarks.

Who it is for. For Kaiten teams that want both a personal local server and a shared remote one for several people.

Good fit when

  • You want to connect Kaiten to Cursor or Claude Code with no repo clone, via uvx
  • You need a shared team server on Docker or Kubernetes, where everyone passes their own token
  • Context economy matters: short lists and structured logs

Not a fit when

  • You need checklists or time tracking: these tools are not in the list
  • You expect browser OAuth: the server deliberately uses a bearer token per request only

Example request

Show tasks on board X in Kaiten and move card 1234 to the In Progress column

Limitations

No checklist or time-tracking tools, the set is limited to spaces, boards and cards. Requires Python 3.12+ and uv to run. The remote HTTP mode has no built-in OAuth, only a bearer token in the header.

How to disable. Stop the process or remove the kaiten entry from .cursor/mcp.json or Claude Code's .mcp.json.

MCP

Transport
stdio, http
Authentication
API key
Environment variables
Environment variables
KAITEN_API_TOKEN
required, secret
Bearer token from the Kaiten profile
KAITEN_WORKSPACE_SLUG
required
Instance slug, e.g. acme for acme.kaiten.ru; KAITEN_BASE_URL can be used instead
KAITEN_BASE_URL
Full API root for an on-prem install
KAITEN_HOST
Bind address for HTTP mode, defaults to 127.0.0.1
KAITEN_PORT
Port for HTTP mode, defaults to 8000

Security check

  • Creates and updates cards on a real board
  • In team mode the server is hosted separately, tokens are passed to its side

README in short

The README explains running via uvx with no clone, connecting in Cursor and Claude Code through ready .cursor/mcp.json and .mcp.json files, deploying a remote Streamable HTTP server on Docker and Kubernetes with a per-request token model, an environment variable table, the token-saving approach with 20-item pages and field trimming, structured stderr logging, and an FAQ on how it differs from other kaiten-mcp servers.

FAQ

Do I need to clone the repository?

No, uvx downloads the kaiten-mcp package from PyPI and runs it in an isolated environment.

Can the server be shared by the whole team?

Yes, the Streamable HTTP mode on Docker or Kubernetes, where each person passes their own Kaiten bearer token in the request header.

Official

A self-hosted knowledge base with block-level references and a built-in MCP server for connecting AI agents to your notes

MCP serverMedium risk46.5KRepository stars
Editors’ pick

A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more

CLIHigh risk31.2KRepository stars
Editors’ pick

Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server

CLIMedium riskNo VPN needed30.1KRepository stars
Editors’ pick

A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI

MCP serverMedium risk28.1KRepository stars
Foxx AIKaiten MCP with team hosting

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.