update_task
Modify existing task details in FluentBoards project management, including title, description, or stage assignment, to keep project workflows current.
Instructions
Update an existing task
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| board_id | Yes | Board ID | |
| task_id | Yes | Task ID | |
| title | No | New task title | |
| description | No | New task description | |
| stage_id | No | New stage ID |
Implementation Reference
- src/tools/tasks.ts:83-117 (handler)The handler function for the update_task tool. It destructures the arguments, conditionally makes PUT API requests to update the task's title, description, or stage_id, and returns the formatted response.async (args) => { const { board_id, task_id, title, description, stage_id } = args; let response; // Update title if provided if (title) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'title', value: title } ); } // Update description if provided if (description) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'description', value: formatText(description) } ); } // Update stage if provided if (stage_id) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'stage_id', value: stage_id } ); } if (!response) { throw new Error('No properties provided for update'); } return formatResponse(response.data); }
- src/types/index.ts:28-34 (schema)Zod schema defining the input parameters for the update_task tool, matching the inline schema used in registration.export const UpdateTaskSchema = z.object({ board_id: z.number().int().positive(), task_id: z.number().int().positive(), title: z.string().optional(), description: z.string().optional(), stage_id: z.number().int().positive().optional(), });
- src/tools/tasks.ts:73-118 (registration)Registers the update_task tool on the MCP server using server.tool(), providing description, input schema, and handler.server.tool( "update_task", "Update an existing task", { board_id: z.number().int().positive().describe("Board ID"), task_id: z.number().int().positive().describe("Task ID"), title: z.string().optional().describe("New task title"), description: z.string().optional().describe("New task description"), stage_id: z.number().int().positive().optional().describe("New stage ID"), }, async (args) => { const { board_id, task_id, title, description, stage_id } = args; let response; // Update title if provided if (title) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'title', value: title } ); } // Update description if provided if (description) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'description', value: formatText(description) } ); } // Update stage if provided if (stage_id) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'stage_id', value: stage_id } ); } if (!response) { throw new Error('No properties provided for update'); } return formatResponse(response.data); } );
- src/index.ts:23-23 (registration)Top-level call to registerTaskTools which includes the update_task tool registration.registerTaskTools(server);