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 }.

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

Параметры

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

    Numeric project id.

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

    Numeric user id to add to the project.

  • roleenum

    Role to assign: 'project-manager', 'project-member' (default), or 'project-viewer'.

    project-managerproject-memberproject-viewer
attach_file_to_task

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

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

Параметры

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

    ID of the task to attach the file to (required).

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

    Filename to store in Kanboard (required).

  • file_pathstring

    Absolute or relative path to the file to upload. Relative paths are resolved against process.cwd(). Maximum decoded size: 5 MB (5,242,880 bytes). Exactly one of file_path or content_base64 must be provided (not both, not neither).

  • content_base64string

    Base64-encoded file content to upload directly (no local file needed). Decoded size must be ≤ 5 MB (5,242,880 bytes). Exactly one of file_path or content_base64 must be provided (not both, not neither).

close_task

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

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

Параметры

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

    Id of the task to close (required).

create_column

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

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

Параметры

  • project_idinteger

    Kanboard project id (overrides .kanboard.yaml).

  • project_identifierstring

    Kanboard project identifier string (overrides .kanboard.yaml).

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

    Column title (1–255 chars, required).

  • task_limitinteger

    WIP limit for the column (0 = unlimited).

  • descriptionstring

    Optional column description.

create_comment

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

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

Параметры

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

    ID of the task to comment on.

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

    Comment body text (required, non-empty).

  • referencestring

    Optional external reference (e.g. issue URL).

  • visibilityenum

    Comment visibility level. Default: 'app-user'.

    app-userapp-managerapp-admin
create_project

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

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

Параметры

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

    Project name (1–255 characters, required).

  • descriptionstring

    Optional project description.

  • identifierstring

    Optional short identifier (e.g. 'PRJ'). Must be unique across projects.

  • owner_idinteger

    Optional numeric user id of the project owner.

  • start_dateany

    Optional start date as ISO 8601 string or Unix epoch seconds (integer).

  • end_dateany

    Optional end date as ISO 8601 string or Unix epoch seconds (integer).

  • emailstring

    Optional project notification email address.

create_subtask

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

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

Параметры

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

    ID of the parent task.

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

    Subtask title (1–255 characters, required).

  • user_idinteger

    User id to assign the subtask to (optional).

  • time_estimatednumber

    Estimated time in hours (optional).

  • time_spentnumber

    Time already spent in hours (optional).

  • statusenum

    Subtask status: 0 = todo (default), 1 = in progress, 2 = done.

    012
create_swimlane

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

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

Параметры

  • project_idinteger

    Kanboard project id (overrides .kanboard.yaml).

  • project_identifierstring

    Kanboard project identifier string (overrides .kanboard.yaml).

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

    Swimlane name (1–255 chars, required).

  • descriptionstring

    Optional swimlane description.

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 }.

Создаёт новую задачу в проекте 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 }.

Параметры

  • project_idinteger

    Kanboard project id (overrides .kanboard.yaml).

  • project_identifierstring

    Kanboard project identifier string (overrides .kanboard.yaml).

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

    Task title (1–255 characters, required).

  • descriptionstring

    Task description (optional).

  • column_idinteger

    Column id. Falls back to .kanboard.yaml default_column_id.

  • owner_idinteger

    Owner user id. Falls back to .kanboard.yaml default_owner_id.

  • color_idstring

    Color identifier (e.g. 'blue', 'red').

  • date_dueany

    Due date as ISO 8601 string, Unix epoch seconds (integer), or null to clear.

  • category_idinteger

    Category id. Falls back to .kanboard.yaml default_category_id.

  • swimlane_idinteger

    Swimlane id. Falls back to .kanboard.yaml default_swimlane_id.

  • scoreinteger

    Task complexity score.

  • priorityinteger

    Task priority.

  • referencestring

    External reference (e.g. issue URL).

  • tagsstring[]

    Array of tag strings.

  • date_startedany

    Start date as ISO 8601 string, Unix epoch seconds (integer), or null to clear.

  • creator_idinteger

    Creator user id.

create_tasks_batch

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

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

Параметры

  • project_idinteger

    Kanboard project id (overrides .kanboard.yaml).

  • project_identifierstring

    Kanboard project identifier string (overrides .kanboard.yaml).

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

    Array of task creation inputs. 1..100 items. Non-atomic: partial failure possible. Inspect failed[] for per-task errors.

delete_column

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

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

Параметры

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

    Column id to permanently delete (required).

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

    Must be exactly `true` to confirm permanent deletion.

delete_comment

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

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

Параметры

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

    Comment id to permanently delete (required).

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

    Must be exactly `true` to confirm permanent deletion.

delete_project

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

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

Параметры

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

    Project id to permanently delete (required).

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

    Must be exactly `true` to confirm permanent deletion.

delete_subtask

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

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

Параметры

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

    Subtask id to permanently delete (required).

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

    Must be exactly `true` to confirm permanent deletion.

delete_swimlane

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

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

Параметры

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

    Swimlane id to permanently delete (required).

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

    Must be exactly `true` to confirm permanent deletion.

delete_task

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

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

Параметры

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

    Task id to permanently delete (required).

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

    Must be exactly `true` to confirm permanent deletion.

delete_task_file

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

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

Параметры

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

    File id to permanently delete (required).

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

    Must be exactly `true` to confirm permanent deletion.

get_project

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

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

Параметры

  • project_idinteger

    Numeric project id.

  • project_identifierstring

    Short project identifier string (e.g. 'PRJ').

  • project_namestring

    Exact project name.

get_task

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

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

Параметры

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

    The task id to retrieve (must be a positive integer).

list_categories

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

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

Параметры

  • project_idinteger

    Numeric project id. Falls back to .kanboard.yaml when omitted.

  • project_identifierstring

    Short project identifier. Falls back to .kanboard.yaml when omitted.

list_columns

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

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

Параметры

  • project_idinteger

    Numeric project id. Falls back to .kanboard.yaml when omitted.

  • project_identifierstring

    Short project identifier. Falls back to .kanboard.yaml when omitted.

list_my_tasks

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

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

Параметры

  • project_idinteger

    Kanboard project id (overrides .kanboard.yaml).

  • project_identifierstring

    Kanboard project identifier string (overrides .kanboard.yaml).

list_overdue_tasks

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

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

Параметры

  • scopeenum

    Scope of overdue tasks to return: "mine" (default) = tasks overdue for the current user via getMyOverdueTasks; "all" = all overdue tasks across all projects (admin-level) via getOverdueTasks; "project" = overdue tasks for a specific project (requires project_id or .kanboard.yaml) via getOverdueTasksByProject.

    mineallproject
  • project_idinteger

    Required when scope="project": Kanboard project id (overrides .kanboard.yaml).

  • project_identifierstring

    Required when scope="project": Kanboard project identifier string (overrides .kanboard.yaml).

list_projects

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

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

Параметры

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

list_project_users

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

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

Параметры

  • project_idinteger

    Numeric project id. Falls back to .kanboard.yaml when omitted.

  • project_identifierstring

    Short project identifier. Falls back to .kanboard.yaml when omitted.

list_subtasks

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

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

Параметры

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

    ID of the task whose subtasks to list.

list_swimlanes

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

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

Параметры

  • project_idinteger

    Numeric project id. Falls back to .kanboard.yaml when omitted.

  • project_identifierstring

    Short project identifier. Falls back to .kanboard.yaml when omitted.

list_tasks

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

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

Параметры

  • project_idinteger

    Kanboard project id (overrides .kanboard.yaml).

  • project_identifierstring

    Kanboard project identifier string (overrides .kanboard.yaml).

  • status_idenum

    Task status: 1 = active (default), 0 = closed/inactive.

    01
move_column

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

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

Параметры

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

    Column id to move (required).

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

    New 1-based position within the project board (required).

move_swimlane

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

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

Параметры

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

    Swimlane id to move (required).

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

    New 1-based position within the project (required).

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 }.

Перемещает задачу 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 }.

Параметры

  • project_idinteger

    Kanboard project id (overrides .kanboard.yaml).

  • project_identifierstring

    Kanboard project identifier string (overrides .kanboard.yaml).

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

    The task id to move.

  • column_idinteger

    Target column id. Mutually exclusive with column_name.

  • column_namestring

    Target column name (case-insensitive). Mutually exclusive with column_id.

  • swimlane_idinteger

    Target swimlane id. Falls back to .kanboard.yaml default or first active swimlane.

  • positioninteger

    Position within the column (1-based, defaults to 1 = top).

remove_project_user

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

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

Параметры

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

    Numeric project id.

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

    Numeric user id to unlink from the project.

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

    Must be exactly `true` to confirm unlinking the user.

reopen_task

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

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

Параметры

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

    Id of the task to reopen (required).

update_column

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

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

Параметры

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

    Column id to update (required).

  • titlestring

    New column title (1–255 chars).

  • task_limitinteger

    New WIP limit (0 = unlimited). Omit to leave unchanged.

  • descriptionstring

    New column description.

update_comment

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

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

Параметры

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

    Comment id to update (required).

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

    New comment body text (required, non-empty).

update_project

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

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

Параметры

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

    Project id to update (required).

  • namestring

    New project name (1–255 chars).

  • descriptionstring

    New project description.

  • identifierstring

    New short identifier (e.g. 'PRJ'). Must be unique.

  • owner_idinteger

    New owner user id.

  • start_dateany

    New start date as ISO 8601 string, Unix epoch seconds (integer), or null to clear.

  • end_dateany

    New end date as ISO 8601 string, Unix epoch seconds (integer), or null to clear.

  • emailstring

    New project notification email address.

update_subtask

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

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

Параметры

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

    ID of the subtask to update (required).

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

    ID of the parent task (required).

  • titlestring

    New subtask title (optional).

  • statusenum

    New status: 0 = todo, 1 = in progress, 2 = done (optional).

    012
  • user_idinteger

    New assigned user id (optional).

  • time_estimatednumber

    New estimated time in hours (optional).

  • time_spentnumber

    New time spent in hours (optional).

update_swimlane

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

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

Параметры

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

    Swimlane id to update (required).

  • namestring

    New swimlane name (1–255 chars).

  • descriptionstring

    New swimlane description.

update_task

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

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

Параметры

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

    Task id to update (required).

  • titlestring

    New task title.

  • descriptionstring

    New task description.

  • color_idstring

    New color identifier (e.g. 'blue', 'red').

  • owner_idinteger

    New owner user id.

  • creator_idinteger

    New creator user id.

  • date_dueany

    New due date as ISO 8601 string, Unix epoch seconds (integer), or null to clear.

  • category_idinteger

    New category id.

  • scoreinteger

    New complexity score.

  • priorityinteger

    New priority.

  • referencestring

    New external reference (e.g. issue URL).

  • tagsstring[]

    New array of tag strings (replaces existing).

  • date_startedany

    New start date as ISO 8601 string, Unix epoch seconds (integer), or null to clear.

Другие проверенные MCP-сервера

eyaltoledano/claude-task-master

eyaltoledano/claude-task-master

Taskmaster — система управления задачами для AI-разработки, подключаемая через MCP к Cursor, Claude Code и другим редакторам. Разбивает PRD на задачи, отслеживает прогресс и управляет разработкой п...

JavaScript27867
nteract/semiotic

nteract/semiotic

Semiotic — React-библиотека визуализации данных со встроенным MCP-сервером. AI-ассистенты могут рендерить графики, проверять конфигурации и получать рекомендации по чартам. Сотни типов диаграмм — о...

TypeScript2685
Coding-Solo/godot-mcp

Coding-Solo/godot-mcp

MCP-сервер для Godot: запускает редактор, выполняет проекты, захватывает отладку. Управляет сценами и проектами. Полезен разработчикам, использующим AI-агентов — даёт обратную связь от движка, уско...

JavaScript4784
samuelgursky/davinci-resolve-mcp

samuelgursky/davinci-resolve-mcp

MCP сервер для управления DaVinci Resolve Studio через официальный Scripting API. Дает AI-ассистентам полный доступ к функциям редактирования, медиапула, грейдинга, а также рендеру и анализу. Все операции безопасны для исходных медиа — изменения только в проекте.

Python1699
coding-solo/godot-mcp

coding-solo/godot-mcp

MCP сервер для разработчиков на Godot: запускает редактор, выполняет проекты, захватывает отладку и управляет сценами. Интеграция с AI позволяет быстро проверять код и отлаживать игры прямо в движке.

JavaScript4776
agenticmail/agenticmail

agenticmail/agenticmail

официальный

MCP сервер наделяет AI-агентов реальными email и номерами телефонов для отправки и получения писем, SMS и кодов верификации. Встроенная память, голосовые вызовы и медиа-инструменты расширяют их возможности.

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

Лука Никитин