Kaiten MCP Tools
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KAITEN_BASE_URL | Yes | Required full URL of your Kaiten instance, for example https://tasks.company.example or https://company.kaiten.ru. Deployment path is supported. The domain suffix is not appended. | |
| KAITEN_API_TOKEN | No | Bearer token for Kaiten API access. Use exactly one token source: either KAITEN_API_TOKEN or KAITEN_API_TOKEN_FILE. | |
| KAITEN_ALLOW_HTTP | No | Set to true to explicitly allow HTTP for internal deployments or local tests. Use HTTPS for normal setups. | |
| KAITEN_TIMEOUT_MS | No | Timeout for a single request in milliseconds. Default is 30000. Temporary network errors, 429, and some 5xx responses are retried at most twice; a long cooldown is returned as an error for the agent to retry later. | 30000 |
| KAITEN_CACHE_TTL_MS | No | Cache TTL for directories and structural metadata in milliseconds. Default is 60000; 0 disables cache. Cards, comments, sprints, time tracking, and files are read fresh. Errors are not cached. | 60000 |
| KAITEN_DOWNLOAD_DIR | No | Directory for original attachment files. Default is kaiten-mcp-tools in the system temp directory. Files have safe unique names and are written atomically; they are preserved after server shutdown. Cleanup is performed by the user or OS. | |
| NODE_EXTRA_CA_CERTS | No | Path to a PEM file for a corporate certificate authority. Must be set before starting Node.js. TLS verification remains enabled. | |
| KAITEN_API_TOKEN_FILE | No | Path to a file containing only the Kaiten API token. BOM and a trailing newline are allowed. Use exactly one token source: either KAITEN_API_TOKEN or KAITEN_API_TOKEN_FILE. | |
| KAITEN_MAX_FILE_BYTES | No | Maximum size of an original file and API response in bytes. Default is 20971520 (20 MiB). | 20971520 |
| KAITEN_MAX_TEXT_CHARS | No | Text field budget for responses. Default is 20000, minimum is 2 to preserve Unicode. Service identifiers, links, and JSON envelope are not truncated. | 20000 |
| KAITEN_ATTACHMENT_ALLOWED_HOSTS | No | Comma-separated exact hostnames of additional private file servers. Public file hosts are allowed; private addresses require explicit permission, except for the configured Kaiten instance. The Bearer token is not sent there. |
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
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_cardB | Read a card directly, including its description, identifiers and card attachment metadata. Does not fetch comments. Use full (default) and follow continuation. |
| search_cardsC | Search cards with documented filters, sorting and limit/offset. Defaults to title search. Full detail requests descriptions. Follow next_offset. |
| list_space_cardsC | List cards in a space via the dedicated cards route, with search filters. |
| list_board_cardsC | List cards on a board via the dedicated cards route, with search filters. |
| get_card_location_historyC | Read card movement and state history, with author and dates. |
| list_subtasksC | Read child cards linked to this card. |
| get_card_commentsB | Read a page of comments with original text, format when supplied, authors, dates, editing flags and attachment metadata. Follow pagination and text continuation. |
| get_checklistA | Read a checklist after verifying it belongs to the supplied card. Discover checklist IDs in get_card full detail. |
| list_card_membersC | Read card participants and their roles. |
| list_card_blockersC | Read blockers of the card. |
| list_card_external_linksC | Read external links attached to the card. |
| list_card_tagsC | Read tags attached to the card. |
| list_spacesB | List accessible spaces. Pages are fetched from Kaiten; structural metadata cached for the configured TTL. |
| get_spaceA | Read detailed space metadata. Use list_boards for its boards and list_space_cards for cards. |
| list_boardsA | List board metadata in a space. Does not retrieve cards. |
| get_boardA | Read board metadata, columns and lanes. Cards are retrieved separately with list_board_cards. |
| list_columnsC | Read columns of a board. |
| list_subcolumnsC | Read subcolumns of a column. |
| list_lanesC | Read lanes of a board. |
| list_card_typesB | Read card types and their current card_properties settings. |
| list_space_usersC | Read users of a space, optionally including inherited access or inactive members. |
| get_current_userB | Read the user authenticated by the API token. |
| list_usersA | Read accessible users with pagination and optional name/email search. Token permissions determine visibility. |
| list_company_rolesB | Read company role definitions, including system roles with negative IDs. |
| list_workspace_tagsC | Read workspace tag definitions with optional text, space and ID filters. |
| list_custom_propertiesB | Read custom property definitions; option values can be read separately. |
| list_custom_property_select_valuesC | Read select options of a custom property using the paginated v2 select search. |
| list_sprintsB | Read sprints (deprecated Kaiten route). Unavailable permissions and unsupported routes are reported explicitly. |
| get_sprintB | Read sprint summary (deprecated Kaiten route), including explicitly paged nested sections. |
| get_user_timelogsB | Read user time logs in an inclusive calendar date range. Dedicated route may be unavailable on older instances. |
| get_card_timelogsB | Read card time logs. Optional from/to are applied locally to for_date; for_date and personal are Kaiten filters. Missing dates cause an explicit compatibility error when range filtering. |
| get_timesheetC | Read time tracking for a date range with workspace filters and optional grouping: 0=none, 1=user, 2=card. Preserve totals and follow continuation. |
| list_attachmentsA | Read card attachment metadata and one selected page of comment attachments; does not download files. Follow comments_next_offset and pass comments_page_fingerprint as comments_previous_page to inspect more comments safely. Cloud documents are links requiring separate authorization. |
| download_attachmentA | Download only a selected original attached to the supplied card or its accessible comments. Returns an absolute local path, MIME, size, SHA-256 and resource URI. Use your own file tools to read it; no format extraction occurs here. |
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 34 tools
Each tool targets a distinct resource or action: card reading vs searching vs container-based listing, card history, subtasks, comments, checklist, members, blockers, links, tags, spaces, boards, columns, lanes, users, roles, tags, custom properties, sprints, time logs, and attachments. The few potentially overlapping tools (e.g., search_cards, list_space_cards, list_board_cards) are clearly scoped by route and container, so misselection is unlikely.
All tool names follow a consistent snake_case verb_noun pattern: get_card, search_cards, list_space_cards, list_card_members, download_attachment, etc. There is no mixing of conventions or vague verb styles.
With 34 tools, the set is heavy relative to typical MCP servers and the read-only scope. Many list_* tools are highly granular for individual card sub-resources, which bloats the surface beyond what an agent can comfortably navigate. This exceeds the 25+ threshold where tool count is considered too many.
The tool surface is entirely read-oriented: no create, update, delete, or write operations for cards, comments, checklists, members, blockers, tags, boards, users, time logs, or attachments. For a project management domain like Kaiten, this leaves significant lifecycle gaps that will cause agent failures for any task requiring modification.