ernestocorona/kanboard-mcp

ernestocorona/kanboard-mcp

от ernestocorona
MCP сервер для Kanboard с 39 инструментами и JSON-RPC батчингом. Подключает доску к AI-редакторам (Claude Code, Cursor) — агенты читают, планируют и обновляют задачи. Полезен командам, автоматизирующим управление проектами через агентов.

📋 Kanboard MCP

Kanboard, plug-and-play in any AI editor.

A Model Context Protocol server that brings your Kanboard board into Claude Code, Claude Desktop, Cursor, Cline, Zed, and beyond — so your agent can read, plan, and update tasks the same way you would.

39 typed tools · JSON-RPC batching · Dual authentication · TypeScript strict · 1016 tests

npm version License: MIT Node.js >=22 Tests TypeScript Strict MCP Compatible

Originally developed at aisys-media GmbH


What it looks like

Kanboard MCP in action — an agent turning a customer email into a Mobile sprint backlog via JSON-RPC batching

You:    Take this customer email and turn it into a Mobile sprint backlog.

Claude (via kanboard-mcp):
  → list_projects()                    ✓ resolved "Mobile" = #42
  → list_columns(42)                   ✓ Backlog = #588
  → create_tasks_batch(42, [...])      ✓ 8 tasks created in #42/Backlog
  → list_my_tasks()                    ✓ priorities re-sorted

Done — 8 tasks in Mobile/Backlog, sorted by priority.
Top 3:  "Fix login error on iOS 18.2"  (P1)
        "Flaky CI on PR #1247"          (P1)
        "Onboarding redesign review"    (P2)

The same flow works for every kind of board work — pulling overdue tasks, opening a daily standup summary, breaking a doc into subtasks, or updating a comment on someone's PR. The agent picks the tools, you stay in the loop.

Инструменты были проиндексированы:
add_project_user

Добавляет пользователя в проект Kanboard с указанной ролью. Роль по умолчанию: 'project-member', если не указана. Для поиска идентификаторов пользователей используйте list_project_users, для поиска идентификаторов проектов — list_projects; для удаления участника используйте remove_project_user. В случае успеха возвращает { user_id, project_id, role }.

Параметры
  • project_idintegerобязательный

    Числовой идентификатор проекта.

  • roleenum

    Роль для назначения: 'project-manager', 'project-member' (по умолчанию) или 'project-viewer'.

  • user_idintegerобязательный

    Числовой ID пользователя для добавления в проект.

attach_file_to_task

Загружает файл в задачу Kanboard в качестве вложения. Предоставьте либо file_path (локальный файл), либо content_base64 (встроенное содержимое в base64), не оба. project_id определяется автоматически из задачи (указывать не нужно). Максимальный размер файла: 5 МБ (5 242 880 байт). Файлы большего размера возвращают VALIDATION_ERROR до отправки HTTP-запроса. При успехе возвращает { file_id }.

Параметры
  • content_base64string

    Base64-кодированное содержимое файла для прямой загрузки (локальный файл не требуется). Декодированный размер должен быть ≤ 5 МБ (5 242 880 байт). Должен быть указан ровно один из параметров file_path или content_base64 (не оба и не ни одного из них).

  • filenamestringобязательный

    Имя файла для сохранения в Kanboard (обязательно).

  • file_pathstring

    Абсолютный или относительный путь к файлу для загрузки. Относительные пути разрешаются относительно process.cwd(). Максимальный декодированный размер: 5 МБ (5 242 880 байт). Требуется указать ровно один из параметров: file_path или content_base64 (не оба и не ни один).

  • task_idintegerобязательный

    Идентификатор задачи, к которой нужно прикрепить файл (обязательно).

close_task

Закрывает (архивирует) активную задачу Kanboard. Задача становится неактивной и покидает активную доску, но сохраняется - это НЕ удаление. Обратимо: восстановите её с помощью reopen_task. Чтобы полностью удалить задачу, используйте delete_task. Возвращает { ok: true, task_id } при успехе.

Параметры
  • task_idintegerобязательный

    ID задачи, которую нужно закрыть (обязательно).

create_column

Добавляет колонку на доску проекта Kanboard. Проект определяется по явному project_id/project_identifier или .kanboard.yaml. Используйте move_column для изменения порядка, update_column для переименования или изменения лимита WIP, delete_column для удаления. В случае успеха возвращает { column_id }.

Параметры
  • descriptionstring

    Необязательное описание столбца.

  • project_idinteger

    Идентификатор проекта Kanboard (переопределяет .kanboard.yaml).

  • project_identifierstring

    Строка идентификатора проекта Kanboard (переопределяет .kanboard.yaml).

  • task_limitinteger

    Лимит WIP для столбца (0 = без ограничений).

  • titlestringобязательный

    Название столбца (1–255 символов, обязательно)

create_comment

Создаёт комментарий к задаче Kanboard. Автор комментария автоматически устанавливается как аутентифицированный пользователь (через кэш getMe()); НЕ передавайте user_id — он добавляется на стороне сервера. Чтобы изменить тело комментария, используйте update_comment; чтобы удалить — delete_comment. В случае успеха возвращает { comment_id }.

Параметры
  • contentstringобязательный

    Текст комментария (обязательное поле, не должно быть пустым).

  • referencestring

    Необязательная внешняя ссылка (например, URL задачи).

  • task_idintegerобязательный

    Идентификатор задачи, к которой нужно оставить комментарий.

  • visibilityenum

    Уровень видимости комментариев. По умолчанию: 'app-user'.

create_project

Создаёт новый проект Kanboard. Требует имя (1–255 символов). Опционально укажите описание, короткий идентификатор, идентификатор владельца, start_date / end_date (строка ISO 8601 или время в секундах с эпохи) и email. После создания настройте доску с помощью create_column / create_swimlane, добавьте участников с помощью add_project_user и отредактируйте атрибуты с помощью update_project. Возвращает { project_id } в случае успеха.

Параметры
  • descriptionstring

    Необязательное описание проекта.

  • emailstring

    Необязательный адрес электронной почты для уведомлений проекта.

  • end_datestring | integer

    Необязательная конечная дата в виде строки ISO 8601 или количества секунд эпохи Unix (целое число).

  • identifierstring

    Необязательный короткий идентификатор (например, 'PRJ'). Должен быть уникальным для всех проектов.

  • namestringобязательный

    Название проекта (1–255 символов, обязательно).

  • owner_idinteger

    Необязательный числовой ID пользователя владельца проекта.

  • start_datestring | integer

    Необязательная дата начала в виде строки ISO 8601 или секунд эпохи Unix (целое число).

create_subtask

Создаёт подзадачу для существующей задачи Kanboard. Статус: 0 = todo (по умолчанию), 1 = in progress, 2 = done. Для получения списка подзадач задачи используйте list_subtasks; для редактирования — update_subtask. В случае успеха возвращает { subtask_id, task_id }.

Параметры
  • statusenum

    Статус подзадачи: 0 = todo (по умолчанию), 1 = in progress, 2 = done.

  • task_idintegerобязательный

    ID родительской задачи.

  • time_estimatednumber

    Оценка времени в часах (необязательно).

  • time_spentnumber

    Уже затраченное время в часах (необязательно).

  • titlestringобязательный

    Название подзадачи (1–255 символов, обязательно).

  • user_idinteger

    ID пользователя, которому назначается подзадача (необязательно).

create_swimlane

Добавляет swimlane в проект Kanboard. Проект определяется по явному project_id/project_identifier или из .kanboard.yaml. Чтобы изменить порядок, используйте move_swimlane, чтобы переименовать — update_swimlane, чтобы удалить — delete_swimlane. Возвращает { swimlane_id } при успешном выполнении.

Параметры
  • descriptionstring

    Необязательное описание swimlane.

  • namestringобязательный

    Название дорожки (1–255 символов, обязательно).

  • project_idinteger

    Идентификатор проекта Kanboard (переопределяет .kanboard.yaml).

  • project_identifierstring

    Строка идентификатора проекта Kanboard (переопределяет .kanboard.yaml).

create_task

Создаёт новую задачу в проекте Kanboard. Проект определяется из явно указанного project_id или project_identifier, либо из .kanboard.yaml. Необязательные поля (column_id, owner_id, category_id, swimlane_id) используют значения по умолчанию из .kanboard.yaml, если не заданы. Чтобы создать сразу много задач, используйте create_tasks_batch; чтобы переместить задачу после создания, используйте move_task_position. В случае успеха возвращает { task_id, project_id }.

Параметры
  • category_idinteger

    Идентификатор категории. Если не указан, используется default_category_id из .kanboard.yaml.

  • color_idstring

    Идентификатор цвета (например, 'blue', 'red').

  • column_idinteger

    Идентификатор колонки. Если не задан, используется default_column_id из .kanboard.yaml.

  • creator_idinteger

    ID пользователя-создателя.

  • date_duestring | integer | null

    Срок выполнения: строка в формате ISO 8601, Unix-время в секундах (целое число) или null для очистки.

  • date_startedstring | integer | null

    Дата начала: строка ISO 8601, количество секунд с начала эпохи Unix (целое число) или null для очистки.

  • descriptionstring

    Описание задачи (необязательно).

  • owner_idinteger

    Идентификатор пользователя-владельца. Если не указан, используется default_owner_id из .kanboard.yaml.

  • priorityinteger

    Приоритет задачи

  • project_idinteger

    Идентификатор проекта Kanboard (переопределяет .kanboard.yaml).

  • project_identifierstring

    Строка идентификатора проекта Kanboard (переопределяет .kanboard.yaml).

  • referencestring

    Внешняя ссылка (например, URL задачи).

  • scoreinteger

    Оценка сложности задачи.

  • swimlane_idinteger

    Идентификатор дорожки. Если значение не указано, используется default_swimlane_id из .kanboard.yaml.

  • tagsstring[]

    Массив строк тегов.

  • titlestringобязательный

    Название задачи (1-255 символов, обязательно).

create_tasks_batch

Массово создаёт задачи в проекте Kanboard с помощью одного пакетного JSON-RPC запроса. Принимает от 1 до 100 задач за один вызов. Неатомарно: возможен частичный сбой. Проверяйте failed[] для ошибок по каждой задаче. Необязательные поля (column_id, owner_id, category_id, swimlane_id) используют значения по умолчанию из .kanboard.yaml, если не указаны. Возвращает { created: [...], failed: [...] }. Никогда не выбрасывает исключение при частичном сбое.

Параметры
  • project_idinteger

    Идентификатор проекта Kanboard (переопределяет .kanboard.yaml).

  • project_identifierstring

    Строка идентификатора проекта Kanboard (переопределяет .kanboard.yaml).

  • tasksobject[]обязательный

    Массив входных данных для создания задач. 1..100 элементов. Неатомарно: возможен частичный отказ. Проверьте failed[] на наличие ошибок по каждой задаче.

delete_column

Удаляет колонку Kanboard из доски проекта навсегда. РАЗРУШИТЕЛЬНО и необратимо — требуется явное confirm: true. Чтобы переименовать колонку или изменить её лимит WIP, используйте update_column; чтобы изменить порядок — move_column. Возвращает { ok: true, column_id } при успехе.

Параметры
  • column_idintegerобязательный

    Идентификатор колонки для полного удаления (обязательно).

  • confirmbooleanобязательный

    Должно быть ровно true, чтобы подтвердить необратимое удаление.

delete_comment

Навсегда удаляет комментарий Kanboard. РАЗРУШИТЕЛЬНАЯ и необратимая, требует явного confirm: true. Чтобы изменить текст комментария вместо удаления, используйте update_comment. Возвращает { ok: true, comment_id } при успехе.

Параметры
  • comment_idintegerобязательный

    ID комментария для безвозвратного удаления (обязательно).

  • confirmbooleanобязательный

    Должно быть ровно true, чтобы подтвердить необратимое удаление.

delete_project

Навсегда удаляет проект Kanboard и все его задачи, колонки и свимлайны. РАЗРУШИТЕЛЬНАЯ и необратимая: требует явного confirm: true. Чтобы удалить только участника, используйте remove_project_user; чтобы изменить атрибуты проекта, используйте update_project. Возвращает { ok: true, project_id } в случае успеха.

Параметры
  • confirmbooleanобязательный

    Должно быть ровно true, чтобы подтвердить необратимое удаление.

  • project_idintegerобязательный

    Идентификатор проекта для окончательного удаления (обязательно).

delete_subtask

Окончательно удаляет подзадачу Kanboard. РАЗРУШИТЕЛЬНАЯ и необратимая: требует явного указания confirm: true. Чтобы отметить подзадачу как выполненную вместо удаления, задайте status=2 через update_subtask. В случае успеха возвращает { ok: true, subtask_id }.

Параметры
  • confirmbooleanобязательный

    Должно быть ровно true, чтобы подтвердить необратимое удаление.

  • subtask_idintegerобязательный

    Идентификатор подзадачи для окончательного удаления (обязательно).

delete_swimlane

Навсегда удаляет swimlane Kanboard из проекта. РАЗРУШИТЕЛЬНАЯ и необратимая: требует явного указания confirm: true. Чтобы переименовать swimlane, используйте update_swimlane; чтобы изменить порядок, используйте move_swimlane. Возвращает { ok: true, swimlane_id } в случае успеха.

Параметры
  • confirmbooleanобязательный

    Должно быть ровно true, чтобы подтвердить необратимое удаление.

  • swimlane_idintegerобязательный

    Swimlane id для безвозвратного удаления (обязательно).

delete_task

Окончательно удаляет задачу Kanboard. ДЕСТРУКТИВНА и необратима: требует явного confirm: true. Возвращает { ok: true, task_id } при успехе.

Параметры
  • confirmbooleanобязательный

    Должно быть ровно true, чтобы подтвердить необратимое удаление.

  • task_idintegerобязательный

    Идентификатор задачи для безвозвратного удаления (обязательно).

delete_task_file

Удаляет вложение файла из задачи Kanboard навсегда. РАЗРУШИТЕЛЬНАЯ и необратимая - требует явного confirm: true. Чтобы добавить вложение, используйте attach_file_to_task. Возвращает { ok: true, file_id } в случае успеха.

Параметры
  • confirmbooleanобязательный

    Должно быть ровно true, чтобы подтвердить необратимое удаление.

  • file_idintegerобязательный

    Идентификатор файла для окончательного удаления (обязательно).

get_project

Получает один проект Kanboard. Укажите ровно один из параметров: project_id (число), project_identifier (короткая строка, например 'PRJ') или project_name (полное имя). Возвращает полный объект проекта. Возвращает NOT_FOUND, если подходящий проект не найден.

Параметры
  • project_idinteger

    Числовой идентификатор проекта.

  • project_identifierstring

    Короткая строка идентификатора проекта (например, 'PRJ').

  • project_namestring

    Точное название проекта.

get_task

Получает одну задачу Kanboard по её числовому идентификатору. Возвращает полную сущность задачи, включая статус, даты, колонку, дорожку и метаданные. Возвращает NOT_FOUND, когда задача не существует.

Параметры
  • task_idintegerобязательный

    Идентификатор задачи, которую нужно получить (должен быть положительным целым числом).

list_categories

Перечисляет все категории для проекта Kanboard. Укажите project_id или project_identifier, или настройте .kanboard.yaml в корневом каталоге вашего проекта. Возвращает массив объектов категорий с полями id, name и color_id.

Параметры
  • project_idinteger

    Числовой идентификатор проекта. Если не указан, используется .kanboard.yaml.

  • project_identifierstring

    Краткий идентификатор проекта. Если параметр не указан, используется .kanboard.yaml.

list_columns

Перечисляет все колонки (стадии доски) для проекта Kanboard. Укажите project_id или project_identifier, или настройте .kanboard.yaml в корне вашего проекта. Возвращает массив объектов колонок с полями id, title, position и task_limit.

Параметры
  • project_idinteger

    Числовой идентификатор проекта. Если не указан, используется .kanboard.yaml.

  • project_identifierstring

    Краткий идентификатор проекта. Если параметр не указан, используется .kanboard.yaml.

list_my_tasks

Перечисляет открытые задачи, назначенные текущему аутентифицированному пользователю в выбранном проекте. Требует project_id (явно или из .kanboard.yaml). Использует поисковый запрос Kanboard: assignee:me status:open. В режиме приложения (пользователь jsonrpc) возвращает задачи, назначенные системному пользователю jsonrpc. При успехе возвращает { tasks }.

Параметры
  • project_idinteger

    Идентификатор проекта Kanboard (переопределяет .kanboard.yaml).

  • project_identifierstring

    Строка идентификатора проекта Kanboard (переопределяет .kanboard.yaml).

list_overdue_tasks

Выводит просроченные задачи с настраиваемой областью видимости. scope="mine" (по умолчанию): просроченные задачи для аутентифицированного пользователя. scope="all": все просроченные задачи во всех проектах (требуется токен администратора). scope="project": просроченные задачи для конкретного проекта (передайте project_id или используйте .kanboard.yaml). Примечание: getOverdueTasksByUser не поддерживается Kanboard JSON-RPC API. Возвращает пустой массив, если просроченных задач нет.

Параметры
  • project_idinteger

    Требуется, когда scope="project": идентификатор проекта Kanboard (переопределяет .kanboard.yaml).

  • project_identifierstring

    Требуется, когда scope="project": строка идентификатора проекта Kanboard (переопределяет .kanboard.yaml).

  • scopeenum

    Задаёт область просроченных задач для возврата: "mine" (по умолчанию) - задачи, просроченные для текущего пользователя, через getMyOverdueTasks; "all" - все просроченные задачи по всем проектам (административный уровень) через getOverdueTasks; "project" - просроченные задачи для конкретного проекта (требуется project_id или .kanboard.yaml) через getOverdueTasksByProject.

list_projects

Возвращает проекты, в которых аутентифицированный пользователь является участником. Не перечисляет проекты в экземпляре Kanboard, к которым у пользователя нет доступа. Возвращает массив объектов проектов с id, name, identifier и status.

Параметры

Без параметров.

list_project_users

Выводит список участников проекта Kanboard (пары user_id + username). Укажите project_id или project_identifier, или настройте .kanboard.yaml в корне вашего проекта. Работает для любого пользователя, который может видеть проект: не требует прав администратора. Используйте возвращённые user_id для назначения задач (create_task owner_id), добавления комментариев и т.д.

Параметры
  • project_idinteger

    Числовой идентификатор проекта. Если не указан, используется .kanboard.yaml.

  • project_identifierstring

    Краткий идентификатор проекта. Если параметр не указан, используется .kanboard.yaml.

list_subtasks

Перечисляет все подзадачи для указанной задачи Kanboard. Возвращает массив объектов подзадач, включающий поля id, title, status, user_id, time_estimated и time_spent.

Параметры
  • task_idintegerобязательный

    ID задачи, подзадачи которой нужно перечислить.

list_swimlanes

Перечисляет активные дорожки для проекта Kanboard. Принимает project_id или project_identifier, либо использует .kanboard.yaml, настроенный в корневой папке проекта. Возвращает массив объектов дорожек с полями id, name, description, position и is_active.

Параметры
  • project_idinteger

    Числовой идентификатор проекта. Если не указан, используется .kanboard.yaml.

  • project_identifierstring

    Краткий идентификатор проекта. Если параметр не указан, используется .kanboard.yaml.

list_tasks

Перечисляет задачи в проекте Kanboard. Возвращает активные задачи по умолчанию (status_id=1). Передайте status_id=0, чтобы перечислить закрытые/неактивные задачи. Проект определяется из явного project_id или project_identifier, или из .kanboard.yaml.

Параметры
  • project_idinteger

    Идентификатор проекта Kanboard (переопределяет .kanboard.yaml).

  • project_identifierstring

    Строка идентификатора проекта Kanboard (переопределяет .kanboard.yaml).

  • status_idenum

    Статус задачи: 1 = активен (по умолчанию), 0 = закрыт/неактивен.

move_column

Изменяет порядок колонки на доске проекта Kanboard. Укажите column_id и новую позицию (отсчёт от 1) — обязательно, по умолчанию не задано. Только изменение порядка — чтобы переименовать колонку или изменить её лимит WIP, используйте update_column. Возвращает { ok: true, column_id, position } при успехе.

Параметры
  • column_idintegerобязательный

    Идентификатор столбца для перемещения (обязательно).

  • positionintegerобязательный

    Новая позиция на доске проекта (отсчёт с 1, обязательное поле).

move_swimlane

Перемещает свимлайн в рамках проекта Kanboard. Требует swimlane_id и новую позицию с отсчётом от 1 (обязательно - без значения по умолчанию). Изменяет только порядок - для переименования свимлайна используйте update_swimlane. Возвращает { ok: true, swimlane_id, position } в случае успеха.

Параметры
  • positionintegerобязательный

    Новая позиция в проекте с отсчётом от 1 (обязательно).

  • swimlane_idintegerобязательный

    ID свимлейна для перемещения (обязательно).

move_task_position

Перемещает задачу Kanboard в другую колонку, позицию или дорожку — это единственный способ изменить размещение задачи на доске. Укажите ровно одно из column_id или column_name (column_name определяется без учёта регистра). Если swimlane_id опущен, он определяется из .kanboard.yaml или первой активной дорожки. Проект определяется из явно указанного project_id или project_identifier, либо из .kanboard.yaml. Для изменения других атрибутов задачи (заголовок, даты, исполнитель) используйте update_task. При успехе возвращает { ok: true, task_id, column_id, swimlane_id, position }.

Параметры
  • column_idinteger

    Идентификатор целевого столбца. Не используется вместе с column_name.

  • column_namestring

    Имя целевого столбца (без учёта регистра). Взаимоисключающий с column_id.

  • positioninteger

    Позиция в столбце (отсчёт от 1, по умолчанию 1 = верх).

  • project_idinteger

    Идентификатор проекта Kanboard (переопределяет .kanboard.yaml).

  • project_identifierstring

    Строка идентификатора проекта Kanboard (переопределяет .kanboard.yaml).

  • swimlane_idinteger

    Целевой swimlane id. Если не указан, используется значение по умолчанию из .kanboard.yaml или первая активная swimlane.

  • task_idintegerобязательный

    ID задачи для перемещения.

remove_project_user

Отвязывает пользователя от проекта Kanboard (не удаляет пользователя). РАЗРУШАЕТ связь проекта и пользователя: требует явного confirm: true. Возвращает { ok: true, project_id, user_id } в случае успеха.

Параметры
  • confirmbooleanобязательный

    Должно быть ровно true, чтобы подтвердить отвязку пользователя.

  • project_idintegerобязательный

    Числовой идентификатор проекта.

  • user_idintegerобязательный

    Числовой идентификатор пользователя для отвязки от проекта.

reopen_task

Открывает заново закрытую (неактивную) задачу Kanboard, восстанавливая её на активную доску. Обратная операция к close_task. При успехе возвращает { ok: true, task_id }.

Параметры
  • task_idintegerобязательный

    Идентификатор задачи, которую нужно открыть заново (обязательно).

update_column

Обновляет существующую колонку Kanboard (частичное обновление). Изменяются только переданные поля; пропущенные поля сохраняют свои текущие значения, а проверка выполняется перед любой записью, поэтому неверный вызов ничего не меняет. Должно быть передано как минимум одно поле помимо 'column_id', иначе VALIDATION_ERROR. НЕ для изменения порядка - используйте move_column; для удаления колонки используйте delete_column. Возвращает { ok: true, column_id } при успехе.

Параметры
  • column_idintegerобязательный

    Идентификатор столбца для обновления (обязательно).

  • descriptionstring

    Новое описание столбца.

  • task_limitinteger

    Новый WIP-лимит (0 = без ограничений). Опустите, чтобы оставить без изменений.

  • titlestring

    Новый заголовок столбца (1-255 символов).

update_comment

Обновляет тело существующего комментария Kanboard. Чтобы удалить комментарий, используйте delete_comment. В случае успеха возвращает { ok: true, comment_id }.

Параметры
  • comment_idintegerобязательный

    Идентификатор комментария для обновления (обязательно).

  • contentstringобязательный

    Текст нового комментария (обязательно, непустой).

update_project

Обновляет атрибуты существующего проекта Kanboard (частичное обновление). Изменяются только те поля, которые передаются; пропущенные поля сохраняют свои текущие значения, а проверка выполняется перед любой записью, поэтому неверный вызов ничего не изменяет. Необходимо указать хотя бы одно поле кроме 'project_id' — иначе VALIDATION_ERROR. Этот инструмент обновляет только атрибуты проекта: для управления участниками используйте add_project_user / remove_project_user, для управления колонками — create_column / move_column, а для удаления проекта — delete_project. Возвращает { ok: true, project_id } при успешном выполнении.

Параметры
  • descriptionstring

    Новое описание проекта

  • emailstring

    Адрес электронной почты для уведомлений о новом проекте.

  • end_datestring | integer | null

    Новая дата окончания как строка ISO 8601, секунды эпохи Unix (целое число) или null для очистки.

  • identifierstring

    Новый короткий идентификатор (например, 'PRJ'). Должен быть уникальным.

  • namestring

    Новое название проекта (1–255 символов).

  • owner_idinteger

    Новый ID владельца

  • project_idintegerобязательный

    ID проекта для обновления (обязательно).

  • start_datestring | integer | null

    Задает новую дату начала: строку ISO 8601, секунды эпохи Unix (целое число) или null для очистки.

update_subtask

Обновляет существующую подзадачу Kanboard (частичное обновление). Изменяются только переданные поля; пропущенные поля сохраняют текущие значения. Проверка выполняется до любой записи, поэтому некорректный вызов ничего не меняет. Поля 'subtask_id' и 'task_id' обязательны как идентификаторы. Необходимо также указать хотя бы одно из полей: title, status, user_id, time_estimated или time_spent. Status: 0 = к выполнению, 1 = в работе, 2 = выполнено. В случае успеха возвращает { subtask_id, task_id }.

Параметры
  • statusenum

    Новый статус: 0 = todo, 1 = in progress, 2 = done (необязательно).

  • subtask_idintegerобязательный

    ID подзадачи для обновления (обязательно).

  • task_idintegerобязательный

    ID родительской задачи (обязательно).

  • time_estimatednumber

    Новое расчетное время в часах (необязательно).

  • time_spentnumber

    Новое затраченное время в часах (необязательно).

  • titlestring

    Название новой подзадачи (необязательно).

  • user_idinteger

    Новый ID назначенного пользователя (необязательно).

update_swimlane

Обновляет существующую swimlane в Kanboard (частичное обновление). Изменяются только те поля, которые вы передаёте; пропущенные поля сохраняют свои текущие значения. Проверка выполняется до любой записи, поэтому недопустимый вызов ничего не изменяет. Необходимо передать хотя бы одно поле кроме 'swimlane_id', иначе VALIDATION_ERROR. НЕ для переупорядочивания: используйте move_swimlane; для удаления swimlane используйте delete_swimlane. В случае успеха возвращает { ok: true, swimlane_id }.

Параметры
  • descriptionstring

    Новое описание плавательной дорожки.

  • namestring

    Новое имя swimlane (1-255 символов).

  • swimlane_idintegerобязательный

    Swimlane id для обновления (обязательно).

update_task

Обновляет атрибуты существующей задачи Kanboard (частичное обновление). Изменяются только те поля, которые вы передаете; пропущенные поля сохраняют свои текущие значения. Проверка выполняется перед любой записью, поэтому недопустимый вызов ничего не изменяет. Должно быть указано хотя бы одно поле помимо 'task_id', иначе VALIDATION_ERROR. Изменения колонки и swimlane должны использовать move_task_position вместо этого. В случае успеха возвращает { ok: true, task_id }.

Параметры
  • category_idinteger

    Новый идентификатор категории.

  • color_idstring

    Новый идентификатор цвета (например, 'blue', 'red').

  • creator_idinteger

    Новый идентификатор пользователя-создателя.

  • date_duestring | integer | null

    Новая дата выполнения в виде строки ISO 8601, секунд Unix-эпохи (целое число) или null для очистки.

  • date_startedstring | integer | null

    Задает новую дату начала: строку ISO 8601, секунды эпохи Unix (целое число) или null для очистки.

  • descriptionstring

    Новое описание задачи.

  • owner_idinteger

    Новый ID владельца

  • priorityinteger

    Новый приоритет

  • referencestring

    Новая внешняя ссылка (например, URL issue).

  • scoreinteger

    Новая оценка сложности.

  • tagsstring[]

    Новый массив строк тегов (заменяет существующий).

  • task_idintegerобязательный

    ID задачи для обновления (обязательно)

  • titlestring

    Название новой задачи.

0.3.6основная
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1

Выберите клиент, чтобы установить ernestocorona/kanboard-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "ernestocorona-kanboard-mcp-mhlt9bqza8": {
      "command": "npx",
      "args": [
        "-y",
        "@ernestocorona/kanboard-mcp"
      ],
      "env": {
        "KANBOARD_URL": "https://your-kanboard.example.com",
        "KANBOARD_USERNAME": "your-kanboard-login",
        "KANBOARD_API_TOKEN": "your-personal-token"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "ernestocorona-kanboard-mcp-mhlt9bqza8": {
      "command": "npx",
      "args": [
        "-y",
        "@ernestocorona/kanboard-mcp"
      ],
      "env": {
        "KANBOARD_URL": "https://your-kanboard.example.com",
        "KANBOARD_USERNAME": "your-kanboard-login",
        "KANBOARD_API_TOKEN": "your-personal-token"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "ernestocorona-kanboard-mcp-mhlt9bqza8": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ernestocorona/kanboard-mcp"
      ],
      "env": {
        "KANBOARD_URL": "https://your-kanboard.example.com",
        "KANBOARD_USERNAME": "your-kanboard-login",
        "KANBOARD_API_TOKEN": "your-personal-token"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"ernestocorona-kanboard-mcp-mhlt9bqza8\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@ernestocorona/kanboard-mcp\"],\"env\":{\"KANBOARD_URL\":\"https://your-kanboard.example.com\",\"KANBOARD_USERNAME\":\"your-kanboard-login\",\"KANBOARD_API_TOKEN\":\"your-personal-token\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "ernestocorona-kanboard-mcp-mhlt9bqza8": {
      "command": "npx",
      "args": [
        "-y",
        "@ernestocorona/kanboard-mcp"
      ],
      "env": {
        "KANBOARD_URL": "https://your-kanboard.example.com",
        "KANBOARD_USERNAME": "your-kanboard-login",
        "KANBOARD_API_TOKEN": "your-personal-token"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add ernestocorona-kanboard-mcp-mhlt9bqza8 --env KANBOARD_URL=https://your-kanboard.example.com --env KANBOARD_USERNAME=your-kanboard-login --env KANBOARD_API_TOKEN=your-personal-token -- npx -y @ernestocorona/kanboard-mcp

Либо через JSON-конфиг:

claude mcp add-json ernestocorona-kanboard-mcp-mhlt9bqza8 "{\"command\":\"npx\",\"args\":[\"-y\",\"@ernestocorona/kanboard-mcp\"],\"env\":{\"KANBOARD_URL\":\"https://your-kanboard.example.com\",\"KANBOARD_USERNAME\":\"your-kanboard-login\",\"KANBOARD_API_TOKEN\":\"your-personal-token\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add ernestocorona-kanboard-mcp-mhlt9bqza8 --env KANBOARD_URL=https://your-kanboard.example.com --env KANBOARD_USERNAME=your-kanboard-login --env KANBOARD_API_TOKEN=your-personal-token -- npx -y @ernestocorona/kanboard-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.ernestocorona-kanboard-mcp-mhlt9bqza8]
command = "npx"
args = ["-y", "@ernestocorona/kanboard-mcp"]

[mcp_servers.ernestocorona-kanboard-mcp-mhlt9bqza8.env]
KANBOARD_URL = "https://your-kanboard.example.com"
KANBOARD_USERNAME = "your-kanboard-login"
KANBOARD_API_TOKEN = "your-personal-token"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите ernestocorona/kanboard-mcp, а в поле команды запуска — строку ниже:
npx -y @ernestocorona/kanboard-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "ernestocorona-kanboard-mcp-mhlt9bqza8": {
      "command": "npx",
      "args": [
        "-y",
        "@ernestocorona/kanboard-mcp"
      ],
      "env": {
        "KANBOARD_URL": "https://your-kanboard.example.com",
        "KANBOARD_USERNAME": "your-kanboard-login",
        "KANBOARD_API_TOKEN": "your-personal-token"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "ernestocorona-kanboard-mcp-mhlt9bqza8": {
      "command": "npx",
      "args": [
        "-y",
        "@ernestocorona/kanboard-mcp"
      ],
      "env": {
        "KANBOARD_URL": "https://your-kanboard.example.com",
        "KANBOARD_USERNAME": "your-kanboard-login",
        "KANBOARD_API_TOKEN": "your-personal-token"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например ernestocorona-kanboard-mcp-mhlt9bqza8.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: ernestocorona-kanboard-mcp-mhlt9bqza8
    command: npx
    args:
      - "-y"
      - "@ernestocorona/kanboard-mcp"
    env:
      KANBOARD_URL: https://your-kanboard.example.com
      KANBOARD_USERNAME: your-kanboard-login
      KANBOARD_API_TOKEN: your-personal-token
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "ernestocorona-kanboard-mcp-mhlt9bqza8": {
      "command": "npx",
      "args": [
        "-y",
        "@ernestocorona/kanboard-mcp"
      ],
      "env": {
        "KANBOARD_URL": "https://your-kanboard.example.com",
        "KANBOARD_USERNAME": "your-kanboard-login",
        "KANBOARD_API_TOKEN": "your-personal-token"
      }
    }
  }
}

Похожие MCP-сервера

davegomez/fizzy-mcp

davegomez/fizzy-mcp

от davegomez

MCP сервер для Fizzy task management. Управляйте досками, карточками, комментариями и чеклистами через 7 инструментов. Интегрируется с Claude Desktop, Cursor и другими AI-клиентами. Автоматизируйте...

TypeScript⭐ 3
agrath/Trello-Desktop-MCP

agrath/Trello-Desktop-MCP

от agrath

MCP сервер для Trello с 46 инструментами для управления проектами: доски, карточки, списки и многое другое. Работает с Claude Desktop, Gemini CLI и другими MCP-клиентами. Поддерживает read-only режим и компактный вывод.

TypeScript⭐ 3
aashari/mcp-server-atlassian-jira

aashari/mcp-server-atlassian-jira

от aashari

Подключает AI-ассистентов к Jira: запрашивайте проекты, задачи, комментарии на естественном языке. Упрощает управление проектами и отслеживание работы для разработчиков, менеджеров и всех пользоват...

TypeScript⭐ 77
tacticlaunch/mcp-linear

tacticlaunch/mcp-linear

от tacticlaunch

MCP сервер для интеграции AI-ассистентов с Linear. Предоставляет инструменты управления задачами, проектами, циклами и документами, включая ресурсы и промпты. Полезен командам, использующим Linear ...

TypeScript⭐ 148
dearlordylord/huly-mcp

dearlordylord/huly-mcp

от dearlordylord

MCP сервер для интеграции с Huly — платформой управления проектами и задачами. Позволяет создавать, обновлять и искать задачи, проекты, документы, комментарии. Полезен командам, использующим Huly в...

TypeScript⭐ 59
its-dart/dart-mcp-server

its-dart/dart-mcp-server

от its-dart

MCP сервер Dart подключает ИИ к управлению проектами: создавайте и редактируйте задачи и документы, фильтруйте по статусу, исполнителю и срокам. Готовые промпты и инструменты упрощают автоматизацию планирования — полезно командам, внедряющим AI-помощников в рабочий процесс.

TypeScript⭐ 128
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин