KanbanFlow MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KANBANFLOW_BOARDS_CONFIG | No | Optional environment variable to override the default boards.json config file path. Default location is ~/.kanbanflow/boards.json. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_boardsA | List all configured KanbanFlow board names. API tokens are never exposed. |
| add_boardA | Add a new board to the config by name and API token. Fetches the board to confirm the token works and to capture its board ID. |
| remove_boardC | Remove a configured board by name. |
| sync_board_idsA | Re-fetch one (or all, if board_name omitted) configured board(s) from KanbanFlow and update the stored board ID if it changed. |
| get_boardB | Get full board details: columns, swimlanes, colors, settings. |
| get_board_custom_fieldsB | Get the custom field definitions available on the board. |
| get_board_eventsB | Get board-level events (audit log) within an optional time window. |
| get_usersC | Get all users who have access to the board. |
| create_taskC | Create a new task on the board |
| get_taskC | Get detailed information about a specific task by its ID |
| get_tasks_by_columnC | Get tasks filtered by column ID. swimlane_id is optional. |
| get_all_tasksC | Get every task on a board. |
| update_taskC | Update a task (name, description, color, column, position, estimates, grouping date). |
| delete_taskB | Permanently delete a task. |
| move_task_to_boardB | Move a task from one configured board to another (or another column/swimlane on a different board). |
| create_subtaskC | Add a subtask to an existing task. |
| get_subtasksC | Get all subtasks for a task. |
| create_labelC | Add a label to a task. |
| get_labelsC | Get all labels on a task. |
| set_dateC | Set or update the due date on a task. due_timestamp required (ISO 8601 UTC). due_timestamp_local and target_column_id optional. |
| get_datesC | Get date/due-date information for a task. |
| get_collaboratorsC | Get collaborators on a task. |
| add_commentC | Add a comment to a task. |
| get_commentsC | Get comments on a task. |
| get_attachmentsC | Get attachments on a task. |
| get_relationsC | Get task relations (relatesTo/dependsOn/requiredBy). |
| get_task_custom_fieldsC | Get custom field values set on a task. |
| add_manual_time_entryC | Add a manual time entry to a task using ISO 8601 start and end timestamps. |
| get_manual_time_entries_for_taskC | Get manual time entries logged on a specific task. |
| get_time_entries_for_taskA | Get all time entries (manual, Pomodoro, Stopwatch) for a specific task within a time window. |
| get_time_entries_for_boardB | Get all time entries (manual, Pomodoro, Stopwatch) for the board within a time window. |
| import_csvB | Bulk-create tasks on a board from CSV content. Required column: name. Optional columns: description, color, swimlaneId, position. |
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 32 tools
Most tools have distinct resource+action targets, but a few read-only tools can be confused: get_manual_time_entries_for_task overlaps with get_time_entries_for_task (manual subset vs all types), and get_users vs get_collaborators differ by board access vs task collaboration.
Names mostly follow a snake_case verb_noun convention, e.g. create_task, update_task, get_comments. Minor inconsistencies include list_boards vs get_* reads, singular/plural mismatches (get_labels/create_label, set_date/get_dates), but overall the pattern is predictable.
32 tools is above the recommended 3-15 range and exceeds the 25+ threshold for 'too many.' While a Kanban API has many resources, the surface is heavy and includes many narrow read-only endpoints, making it over-scoped for an MCP server.
Core task lifecycle is covered (create/get/update/delete/move), plus boards, comments, labels, subtasks, and time entries. However several resources have create+get but no update/delete (subtasks, labels, comments) and others are read-only (attachments, relations, custom fields), leaving notable gaps an agent cannot fill.