Skip to main content
Glama

move_task

Move a task to a different column, swimlane, or position within its board. Specify the task ID and optionally column, swimlane, or position to update.

Instructions

Move a task between columns, swimlanes, or positions on its board.

At least one of column_id / swimlane_id / position must be set, otherwise raises ValueError before issuing HTTP. column_id matches the Task.lane_id on fetched tasks. Moves are scoped to the task's current board — there is no cross-board move surface.

Common 422s (KanbanToolValidationError with parsed field_errors): column_id doesn't belong to the task's board → fetch valid column ids via get_board(get_task(task_id).board_id).columns and pick from those; swimlane_id doesn't exist on the task's board → same fix via .swimlanes on the same Board.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_idYes
column_idNo
swimlane_idNo
positionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
nameYes
descriptionNo
board_idNo
workflow_stage_idNo
swimlane_idNo
positionNo
priorityNo
colorNo
due_dateNo
start_dateNo
tagsNo
assigned_user_idNo
archived_atNo
block_reasonNo
subtasks_countNo
subtasksNo
comments_countNo
timers_totalNo
time_trackersNo
created_atNo
updated_atNo
size_estimateNo
size_estimate_descriptionNo
time_estimateNo
search_tagsNo
card_colorNo
card_color_in_rgbNo
card_color_invertNo
card_type_idNo
recurring_scheduleNo
reminders_scheduleNo
linked_tasksNo
linked_tasks_statusNo
task_dependenciesNo
collaboratorsNo
attachmentsNo
attachments_countNo
created_by_idNo
moved_atNo
postponed_untilNo
subtasks_completed_countNo
external_idNo
external_linkNo
custom_fieldsNo
is_archivedYesTrue iff the task has an archival timestamp.
is_blockedYesTrue iff the task has a non-empty block reason.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false. The description adds value by disclosing that missing required params raises ValueError before HTTP, that moves are scoped to the current board (no cross-board), and details of validation errors. This goes beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a one-sentence purpose, followed by bullet-pointed constraints and error handling. Every sentence adds value without unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (mentioned in context), the description does not need to cover return values. It adequately covers behavior, constraints, and common error scenarios, making it complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains that column_id matches Task.lane_id, and that at least one of the three optional params must be set. However, it does not describe the task_id parameter or the exact semantics of position (e.g., integer index). Partial compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb+resource: 'Move a task between columns, swimlanes, or positions on its board.' This clearly distinguishes it from sibling tools like update_task or archive_task, as it focuses on repositioning within the board.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states the precondition that at least one of column_id/swimlane_id/position must be set, and explains common 422 errors with resolution steps (fetching valid IDs via get_board). This provides clear context for use, but does not explicitly state when not to use this tool or suggest alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/VeryLongOrgNameSuchWow/kanbantool-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server