MCP server for Kaiten
mcp_server_for_kaiten
A simple Python MCP server for CRUD operations on Kaiten spaces, boards and cards
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
- Tools create, update and delete boards and cards in a live Kaiten workspace
- Board deletion supports a forced mode without extra confirmation
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/mcp-server-for-kaitenDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Assembled automatically, review before installing.
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 'DOMAIN=<DOMAIN value>' --env 'TOKEN=<your TOKEN>' mcp_server_for_kaiten -- uvx src/main.pyOr add to the file .mcp.json, in the project
{
"mcpServers": {
"mcp_server_for_kaiten": {
"command": "uvx",
"args": [
"src/main.py"
],
"env": {
"DOMAIN": "<DOMAIN value>",
"TOKEN": "<your TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
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": {
"mcp_server_for_kaiten": {
"command": "uvx",
"args": [
"src/main.py"
],
"env": {
"DOMAIN": "<DOMAIN value>",
"TOKEN": "<your 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
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
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":"mcp_server_for_kaiten","type":"stdio","command":"uvx","args":["src/main.py"],"env":{"DOMAIN":"<DOMAIN value>","TOKEN":"<your TOKEN>"}}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"mcp_server_for_kaiten": {
"type": "stdio",
"command": "uvx",
"args": [
"src/main.py"
],
"env": {
"DOMAIN": "<DOMAIN value>",
"TOKEN": "<your TOKEN>"
}
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
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 mcp_server_for_kaiten --env 'DOMAIN=<DOMAIN value>' --env 'TOKEN=<your TOKEN>' -- uvx src/main.pyOr add to the file ~/.codex/config.toml, for all projects
[mcp_servers.mcp_server_for_kaiten]
command = "uvx"
args = ["src/main.py"]
env = { DOMAIN = "<DOMAIN value>", TOKEN = "<your TOKEN>" }If the file already exists, append the block to the end.
Keys and settings
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
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 'DOMAIN=<DOMAIN value>' -e 'TOKEN=<your TOKEN>' mcp_server_for_kaiten uvx src/main.pyOr add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"mcp_server_for_kaiten": {
"command": "uvx",
"args": [
"src/main.py"
],
"env": {
"DOMAIN": "<DOMAIN value>",
"TOKEN": "<your TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
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": {
"mcp_server_for_kaiten": {
"command": "uvx",
"args": [
"src/main.py"
],
"env": {
"DOMAIN": "<DOMAIN value>",
"TOKEN": "<your 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
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
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": {
"mcp_server_for_kaiten": {
"command": "uvx",
"args": [
"src/main.py"
],
"env": {
"DOMAIN": "<DOMAIN value>",
"TOKEN": "<your 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
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
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": {
"mcp_server_for_kaiten": {
"command": "uvx",
"args": [
"src/main.py"
],
"env": {
"DOMAIN": "<DOMAIN value>",
"TOKEN": "<your TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
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": {
"mcp_server_for_kaiten": {
"type": "local",
"command": [
"uvx",
"src/main.py"
],
"environment": {
"DOMAIN": "<DOMAIN value>",
"TOKEN": "<your TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
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": {
"mcp_server_for_kaiten": {
"command": "uvx",
"args": [
"src/main.py"
],
"env": {
"DOMAIN": "<DOMAIN value>",
"TOKEN": "<your TOKEN>"
}
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
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": {
"mcp_server_for_kaiten": {
"command": "uvx",
"args": [
"src/main.py"
],
"env": {
"DOMAIN": "<DOMAIN value>",
"TOKEN": "<your TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
DOMAINrequired- Домен для подключения к Kaiten
TOKENsecret, required- Токен для подключения к Kaiten
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Clone github:drinktea215/mcp_server_for_kaiten, install dependencies with pip install -r requirements.txt, set DOMAIN and TOKEN in .env following .env.example, then run uv run src/main.py and connect it as a local MCP server.
Other ways from the author
pip install -r requirements.txtAfter installing dependencies, fill in .env from .env.example (DOMAIN and TOKEN) and run uv run src/main.py.
This is third-party code. Review the repository files before installing.
What it does
The server wraps part of the Kaiten REST API in MCP tools: listing, creating, updating and deleting spaces, boards and cards. Requests to Kaiten go through an async httpx client, and errors are logged to a file. The server works with MCP Inspector for debugging. The Kaiten domain and access token are passed through environment variables.
Who it is for. For small Kaiten teams who want a minimal set of CRUD tools for an agent without extra features.
Good fit when
- You want a simple wrapper over Kaiten without complex setup
- You want to create and update boards and cards from an agent chat
- A local run via uv without any deployment is fine
Not a fit when
- You need cards with comments, checklists, sprints and backlog analytics
- You need a ready remote server with auth for a team
Example request
Show all boards in space 123 and create a new card in the first oneLimitations
The project is small and has not been updated in over a year, and it is the author's only repository of this kind. There are few tools: only basic operations on spaces, boards and cards, no comments, checklists or sprints. Board deletion supports a force flag, which can wipe data with no way to undo it.
How to disable. Remove the server from your MCP client config and stop the uv run process.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| DOMAIN required | Kaiten workspace domain |
| TOKEN required, secret | Kaiten API access token |
Security check
- Tools create, update and delete boards and cards in a live Kaiten workspace
- Board deletion supports a forced mode without extra confirmation
README in short
The README lists the features: CRUD for spaces, boards (with forced deletion) and cards, async requests via httpx, error logging and MCP Inspector compatibility. The quick start covers installing dependencies, filling in .env from the example, and running with uv run src/main.py.
FAQ
Can I delete a whole board?
Yes, the boards_delete tool accepts a force parameter for forced deletion.
Do I need a separate key per space?
No, one token from .env gives access to every space available to that Kaiten user.
Related
A self-hosted knowledge base with block-level references and a built-in MCP server for connecting AI agents to your notes
A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more
Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server
A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI