kaiten-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kaiten-mcp-serverFind cards assigned to me"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Kaiten MCP Server
MCP сервер для интеграции Kaiten API с Claude Desktop. Позволяет управлять карточками, комментариями и пространствами Kaiten напрямую из Claude.
Возможности
Карточки: Чтение, создание, обновление, удаление, поиск
Комментарии: Полная работа с комментариями карточек
Пространства и доски: Навигация по структуре Kaiten
Поиск: Продвинутый поиск с фильтрами
Default Space: Автоматическая работа в выбранном пространстве
🎛️ Verbosity Control: Управление детализацией ответов (minimal/normal/detailed) - экономия до 90% токенов
📊 Response Formats: Выбор формата вывода (json/markdown) для разных сценариев
🛡️ Auto-truncation: Автоматическая защита от переполнения контекста (100k символов)
🧪 Evaluation Suite: Готовые шаблоны для тестирования качества работы
🔒 Production-Ready:
Zod validation для всех параметров
Автоматический retry с exponential backoff
Concurrency control (rate limiting)
LRU кеш с TTL для spaces/boards/users
Расширенная обработка ошибок с hints
Редакция токенов в логах
Comprehensive logging & monitoring система
Быстрый старт
1. Установка
npm install2. Настройка .env
Создайте файл .env:
cp .env.example .envЗаполните его вашими данными:
KAITEN_API_URL=https://your-domain.kaiten.ru/api/latest
KAITEN_API_TOKEN=your_api_token_here
KAITEN_DEFAULT_SPACE_ID=12345 # Ваш основной space_id
# Опциональные настройки производительности (значения по умолчанию)
KAITEN_MAX_CONCURRENT_REQUESTS=5 # Макс. одновременных запросов (1-20)
KAITEN_CACHE_TTL_SECONDS=300 # Время жизни кеша в секундах (0 = выкл.)
KAITEN_REQUEST_TIMEOUT_MS=10000 # Таймаут запроса в мс (1-60000)Как получить API токен:
Войдите в Kaiten
Откройте настройки профиля
Создайте новый API токен
Скопируйте и вставьте в
.env
3. Сборка
npm run build4. Настройка Claude Desktop
Откройте конфигурационный файл:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Добавьте (замените путь на ваш полный путь):
{
"mcpServers": {
"kaiten": {
"command": "node",
"args": [
"/полный/путь/к/MCP Kaiten/dist/index.js"
],
"cwd": "/полный/путь/к/MCP Kaiten"
}
}
}Альтернативный способ (без .env):
{
"mcpServers": {
"kaiten": {
"command": "node",
"args": ["/полный/путь/к/MCP Kaiten/dist/index.js"],
"env": {
"KAITEN_API_URL": "https://your-domain.kaiten.ru/api/latest",
"KAITEN_API_TOKEN": "your_api_token_here",
"KAITEN_DEFAULT_SPACE_ID": "12345"
}
}
}
}5. Перезапустите Claude Desktop
Полностью закройте (⌘+Q / Alt+F4) и откройте Claude Desktop заново.
6. Проверка
Напишите в Claude:
Покажи список пространств KaitenДоступные инструменты (26 tools)
Карточки
kaiten_get_card- Получить карточку по ID [format: json/markdown]kaiten_create_card- Создать новую карточкуkaiten_update_card- Обновить карточкуkaiten_delete_card- Удалить карточкуkaiten_search_cards- Поиск карточек с фильтрами [verbosity: minimal/normal/detailed]kaiten_get_space_cards- Получить карточки пространства [verbosity]kaiten_get_board_cards- Получить карточки доски [verbosity]
Комментарии
kaiten_get_card_comments- Получить комментарии карточкиkaiten_create_comment- Создать комментарийkaiten_update_comment- Обновить комментарийkaiten_delete_comment- Удалить комментарий
Пространства и доски
kaiten_list_spaces- Список всех пространствkaiten_get_space- Получить пространство [format: json/markdown]kaiten_list_boards- Список досок [verbosity: minimal/normal/detailed]kaiten_get_board- Получить доску [format: json/markdown]
Справочники (для корректных ID)
kaiten_list_columns- Список колонок (статусов) доскиkaiten_list_lanes- Список дорожек (lanes/swimlanes) доскиkaiten_list_types- Список типов карточек доски
Пользователи
kaiten_get_current_user- Получить текущего пользователяkaiten_list_users- Список пользователей [verbosity: minimal/normal/detailed]
Управление кешем и диагностика
kaiten_cache_invalidate_spaces- Инвалидировать кеш пространствkaiten_cache_invalidate_boards- Инвалидировать кеш досокkaiten_cache_invalidate_users- Инвалидировать кеш пользователейkaiten_cache_invalidate_all- Инвалидировать весь кешkaiten_get_status- Получить статус сервера (кеш, очередь, конфигурация, логирование, метрики)kaiten_set_log_level- Изменить конфигурацию логирования в runtime
Примеры использования
Базовые операции
Покажи карточку 789Создай карточку "Исправить баг" на доске 456 с описанием "Проблема с авторизацией"Обнови карточку 789: измени статус на 3Добавь комментарий к карточке 789: "Работа завершена"Verbosity Control - Экономия токенов
Minimal - Ультра-компактный формат (90% экономия):
Найди карточки на доске 456 с minimal verbosity
# Вывод: 1. [12345] Fix bug
# 2. [12346] Add featureNormal - Сбалансированный (по умолчанию, 80% экономия):
Найди карточки на доске 456
# Вывод: полная информация с owner, board, статусом, URLDetailed - Полный API response:
Найди карточки на доске 456 с detailed verbosity
# Вывод: все метаданные, permissions, внутренние поляКогда использовать:
minimal- Быстрый поиск, получение ID, краткие спискиnormal- Работа с карточками, обычные задачи (по умолчанию)detailed- Отладка, интеграции, нужны все поля
Response Format Control
Markdown - Человеко-читаемый (по умолчанию):
Покажи карточку 12345
# Вывод: # Card Title
# 🔗 https://...
# 📋 Board: ...JSON - Структурированные данные:
Покажи карточку 12345 в JSON формате
# Вывод: {"id": 12345, "title": "...", ...}Когда использовать:
markdown- Показ пользователю, презентация (по умолчанию)json- Интеграции, программная обработка, парсинг
Поиск
Найди карточки со словом "авторизация" на доске 456Покажи мои карточки в пространстве 123Найди все карточки в работе на доске 456Default Space
По умолчанию все операции выполняются в пространстве, указанном в KAITEN_DEFAULT_SPACE_ID. Это делает команды короче:
Найди карточку про Болгарию
# Автоматически ищет в DEFAULT_SPACE_IDДля поиска во всех пространствах явно укажите:
Найди карточку про Болгарию во ВСЕХ пространствахКак работает Default Space:
Все card-операции автоматически используют
KAITEN_DEFAULT_SPACE_IDДля поиска в других пространствах укажите
space_idявноДля поиска везде явно попросите "во всех пространствах"
Оптимизация и производительность
✅ Лучшие практики поиска
DO (Делайте так):
Найди карточки "баг" на доске 456DON'T (Не делайте так):
Покажи все карточки пространства и найди среди них "баг"Параметры поиска
limit- количество карточек (по умолчанию 10)sort_by- сортировка:created,updated,titlesort_direction- направление:asc,desccondition- 1=активные (по умолчанию), 2=архивные
Примеры с параметрами
Найди 20 карточек на доске 456Покажи архивные карточки на доске 456Найди карточки на доске 456, отсортированные по дате обновленияСтруктура проекта
MCP Kaiten/
├── src/
│ ├── index.ts # MCP сервер
│ ├── kaiten-client.ts # Kaiten API клиент
│ ├── config.ts # Конфигурация и валидация
│ ├── cache.ts # LRU кеш
│ ├── schemas.ts # Zod схемы валидации
│ ├── utils.ts # Utility functions (11 helpers)
│ ├── logging/ # Система логирования
│ │ ├── index.ts # Экспорты
│ │ ├── types.ts # TypeScript типы
│ │ ├── logger.ts # Unified logger (singleton)
│ │ ├── file-logger.ts # Pino file logger
│ │ ├── mcp-logger.ts # MCP notifications logger
│ │ └── metrics.ts # Performance metrics collector
│ └── middleware/ # HTTP middleware
│ └── logging-middleware.ts # Axios logging interceptor
├── evaluations/ # Evaluation suite
│ ├── README.md # Руководство по evaluations
│ └── kaiten-eval-template.xml # Шаблон с 10 вопросами
├── logs/ # Файлы логов (в .gitignore)
├── dist/ # Скомпилированные файлы
├── .env # Конфигурация (не в git)
├── .env.example # Пример конфигурации
├── tsconfig.json # TypeScript конфигурация
├── package.json
├── README.md # Этот файл
├── CHANGELOG.md # История изменений
└── CLAUDE.md # Инструкции для Claude CodeВозможности карточек
При получении карточки возвращаются следующие поля:
{
"id": 12345,
"title": "Название карточки",
"url": "https://your-domain.kaiten.ru/space/12345/card/12345",
"description": "Полное описание...",
"created": "2025-07-23T07:55:52.934Z",
"updated": "2025-10-01T12:14:47.754Z",
"state": 2,
"owner_id": 67890,
"owner_name": "Иван Иванов",
"board_id": 54321,
"board_title": "Project Board",
"blocked": true,
"block_reason": "Ожидание данных от команды",
"blocked_at": "2025-08-04T09:10:22.528Z",
"blocker_name": "Иван Иванов",
"archived": false,
"tags": ["важно", "срочно"],
"members": ["Иван Иванов", "Мария Петрова"],
"due_date": "2025-10-19T00:00:00.000Z"
}Устранение неполадок
Сервер не подключается
Проверьте правильность пути в конфигурации Claude
Убедитесь, что проект собран:
npm run buildПроверьте
.envфайлПерезапустите Claude Desktop полностью (⌘+Q)
Ошибки API
Проверьте, что токен действителен
URL должен заканчиваться на
/api/latestПроверьте права доступа токена в настройках Kaiten
Ошибка "Tool result is too large"
Используйте фильтры и параметр board_id:
# Плохо
Найди карточки в пространстве 123
# Хорошо
Найди карточки на доске 456 в пространстве 123Отладка
Продвинутое логирование
Сервер поддерживает гибкую систему логирования для отладки и мониторинга. Все настройки логирования можно контролировать через переменные окружения или в runtime с помощью инструмента kaiten_set_log_level.
Переменные окружения (опционально):
# Включить/выключить логирование (по умолчанию: true)
KAITEN_LOG_ENABLED=true
# Уровень логирования (по умолчанию: error)
# debug | info | notice | warning | error | critical | alert | emergency
KAITEN_LOG_LEVEL=error
# Отправлять логи в MCP клиент (по умолчанию: false)
KAITEN_LOG_MCP_ENABLED=false
# Записывать логи в файл (по умолчанию: false)
KAITEN_LOG_FILE_ENABLED=false
# Путь к файлу логов (по умолчанию: ./logs/kaiten-mcp.log)
KAITEN_LOG_FILE_PATH=./logs/kaiten-mcp.log
# Логировать все HTTP запросы (по умолчанию: false)
KAITEN_LOG_REQUESTS=false
# Собирать метрики производительности (по умолчанию: false)
KAITEN_LOG_METRICS=falseГотовые профили:
Production (минимальное логирование):
KAITEN_LOG_LEVEL=error
KAITEN_LOG_FILE_ENABLED=false
KAITEN_LOG_REQUESTS=false
KAITEN_LOG_METRICS=falseDevelopment (умеренное логирование для отладки):
KAITEN_LOG_LEVEL=info
KAITEN_LOG_FILE_ENABLED=true
KAITEN_LOG_REQUESTS=false
KAITEN_LOG_METRICS=trueDebug (полное логирование для глубокого анализа):
KAITEN_LOG_LEVEL=debug
KAITEN_LOG_MCP_ENABLED=true
KAITEN_LOG_FILE_ENABLED=true
KAITEN_LOG_REQUESTS=true
KAITEN_LOG_METRICS=trueRuntime управление логированием:
Используйте инструмент kaiten_set_log_level для изменения конфигурации без перезапуска:
# Включить debug режим
Установи уровень логирования debug с файлами и метриками
# Выключить всё логирование
Установи уровень логирования off
# Включить только метрики производительности
Установи уровень логирования info с метрикамиПросмотр логов:
Логи сервера выводятся в stderr. На macOS/Linux их можно посмотреть через Console.app или запустив Claude из терминала. Файловые логи находятся в директории logs/ в формате JSON (для дальнейшего анализа).
Метрики производительности:
При включенных метриках (KAITEN_LOG_METRICS=true) используйте kaiten_get_status для просмотра:
Покажи статус сервераМетрики включают:
Общее количество запросов
Агрегированная статистика по инструментам (latency, success rate, cache hit rate)
Последние 100 запросов с деталями
Технические детали
Node.js: Версия 20 или выше (требование
engines)TypeScript: 5.0+
MCP SDK: @modelcontextprotocol/sdk v1.20.0
API Client: axios с retry/backoff и AbortSignal support
Размер: ~600 строк TypeScript, 25KB скомпилированного кода
MCP I/O Protocol
Критично для отладки: MCP использует stdio-транспорт для общения между клиентом и сервером.
stdout — только JSON-RPC протокольные сообщения (чистый канал связи)
stderr — все логи, дебаг-информация, ошибки
Важно:
Любой
console.log()в коде нарушает протокол → используйтеconsole.error()для логовЭтот сервер гарантирует чистоту stdout через
safeLogwrapper (src/config.ts:126-152)При отладке смотрите stderr:
node dist/index.js 2>debug.logили используйте MCP Inspector
Подробнее: Build an MCP server
Лицензия
MIT
Документация
CHANGELOG.md - История изменений
CLAUDE.md - Инструкции для Claude Code разработки
evaluations/README.md - Руководство по evaluation suite
Kaiten API Docs - Официальная документация API
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vsaranyuk/kaiten-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server