@theyahia/kaiten-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HTTP_PORT | No | Port for the optional HTTP transport, e.g. '3000'. | 3000 |
| KAITEN_TOKEN | No | Bearer token from Kaiten Profile → API tokens. | |
| KAITEN_DOMAIN | No | Kaiten subdomain (e.g. 'mycompany') or full host (e.g. 'mycompany.kaiten.io'). A bare subdomain resolves to .kaiten.ru. | |
| KAITEN_BASE_URL | No | Full API base for self-hosted/on-premise Kaiten, e.g. 'https://kaiten.mycorp.ru/api/latest'. Overrides KAITEN_DOMAIN. | |
| KAITEN_HTTP_CORS_ORIGIN | No | Allowed CORS origin for the HTTP transport. No wildcard default. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_spacesA | List all spaces in the Kaiten workspace. |
| get_spaceA | Get a single space by ID. |
| create_spaceC | Create a new space. |
| update_spaceB | Update a space's title or access mode. |
| delete_spaceA | Delete a space by ID. Irreversible — confirm with the user. |
| list_boardsA | List boards of a space (pass space_id), or attempt to list all boards. |
| get_boardA | Get a single board by ID with its columns and lanes. |
| create_boardB | Create a new board in a space. |
| update_boardA | Update a board's title or description. |
| delete_boardA | Delete a board. Irreversible — confirm with the user. |
| list_columnsB | List all columns (stages) of a Kaiten board. |
| create_columnB | Create a new column on a board. |
| update_columnC | Update a column's title, type, position, or WIP limit. |
| delete_columnA | Delete a column. Irreversible — confirm with the user. |
| list_lanesB | List all lanes (swimlanes/rows) of a Kaiten board. |
| create_laneB | Create a new lane (swimlane) on a board. |
| update_laneB | Update a lane's title, position, or WIP limit. |
| delete_laneA | Delete a lane. Irreversible — confirm with the user. |
| list_cardsB | List cards with optional filters by board, column, and full-text query. Returns a compact projection. |
| get_cardA | Get a single card by ID with all details (full JSON). |
| create_cardB | Create a new card on a board in a specific column (and optional lane). |
| update_cardC | Update card fields: title, description, owner, due date, ASAP flag, size. |
| move_cardC | Move a card to a different column and/or lane. |
| delete_cardA | Delete a card by ID. This is irreversible — confirm with the user first. |
| get_card_location_historyB | Get the movement history (board/column/lane changes) of a card. |
| add_commentA | Add a comment to a Kaiten card. |
| list_commentsC | List comments on a card. |
| update_commentA | Edit the text of an existing card comment. |
| delete_commentA | Delete a card comment by ID. Irreversible. |
| list_card_membersA | List members assigned to a card. |
| add_card_memberB | Add a user as a member of a card. |
| update_card_member_roleB | Change a card member's role (type 2 = responsible). |
| remove_card_memberB | Remove a member from a card. |
| list_card_tagsB | List tags attached to a card. |
| add_card_tagA | Attach a tag (by name) to a card; creates the tag if new. |
| remove_card_tagC | Remove a tag from a card by tag ID. |
| list_card_childrenA | List child cards of a parent card. |
| add_card_childB | Add a child card to a parent card. |
| remove_card_childA | Detach a child card from a parent card. |
| list_card_external_linksB | List external links attached to a card. |
| add_card_external_linkB | Attach an external link (URL) to a card. |
| update_card_external_linkA | Update an external link's URL or description. |
| remove_card_external_linkC | Remove an external link from a card. |
| list_card_blockersB | List blockers on a card. |
| block_cardC | Block a card with a reason or by a blocking card. |
| update_card_blockerB | Update a card blocker's reason or blocking card. |
| unblock_cardB | Release (delete) a card blocker. |
| create_checklistB | Add a checklist to a card. |
| get_checklistA | Get a card checklist with its items. |
| update_checklistB | Rename or reorder a card checklist. |
| remove_checklistA | Delete a checklist from a card. Irreversible. |
| add_checklist_itemC | Add an item to a card checklist. |
| update_checklist_itemB | Update a checklist item (toggle done, edit text, set due/responsible). |
| remove_checklist_itemB | Delete a checklist item. |
| list_tagsA | List all tags in the Kaiten workspace. |
| list_usersA | List all users in the Kaiten workspace. |
| get_current_userA | Get the user the API token belongs to (identifies 'me'). |
| list_card_typesA | List card types defined in the workspace (id, name, color, letter). |
| list_sprintsC | List sprints, optionally filtered by active status. |
| get_sprint_summaryB | Get a sprint summary (cards, totals) by sprint ID. |
| list_custom_propertiesB | List company custom properties (read-only). |
| get_custom_propertyA | Get a single custom property by ID (read-only). |
| list_custom_property_select_valuesA | List the select/catalog values of a custom property (read-only). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 63 tools
Every tool targets a distinct resource or subresource (spaces, boards, columns, lanes, cards, members, tags, blockers, checklists, comments, sprints, custom properties), and the verb prefixes clearly separate read from mutation operations. An agent should rarely confuse one tool with another, even within the dense card subresource family.
The set largely follows a snake_case verb_noun pattern (list_spaces, create_board, update_card), and card subresources consistently use list_card_* / add_card_* / remove_card_*. Minor inconsistencies like block_card/unblock_card instead of create/delete_card_blocker, and delete_comment vs remove_* for other subresources, prevent a perfect score.
With 63 exposed operations, the tool surface is far beyond the 3–15 range that makes a coherent MCP server easy for an agent to navigate. Even though the tools are logically grouped by Kaiten's domain, the raw API-style granularity creates an extreme selection burden and warrants a low score.
The core lifecycle is well covered: spaces, boards, columns, lanes, cards, comments, checklists, members, tags, blockers, and external links all have create/read/update/delete or equivalent operations. Minor gaps remain—no get_column/get_lane, no workspace-level tag or sprint CRUD, and custom properties are read-only—but agents can usually work around them via list and board endpoints.