todoist_complete_task
Mark a Todoist task as complete using its unique ID to track progress and manage your workflow efficiently.
Instructions
Mark a task as complete by its ID
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | The ID of the task to complete |
Implementation Reference
- src/index.ts:1267-1281 (handler)Handler logic for the todoist_complete_task tool: validates arguments using isTaskIdArgs, calls todoistClient.closeTask(taskId), and returns success message.if (name === "todoist_complete_task") { if (!isTaskIdArgs(args)) { throw new Error("Invalid arguments for todoist_complete_task"); } await todoistClient.closeTask(args.taskId); return { content: [{ type: "text", text: `Task ${args.taskId} completed successfully` }], isError: false, }; }
- src/index.ts:198-211 (schema)Tool schema definition for todoist_complete_task, specifying input schema requiring a taskId string.const COMPLETE_TASK_TOOL: Tool = { name: "todoist_complete_task", description: "Mark a task as complete by its ID", inputSchema: { type: "object", properties: { taskId: { type: "string", description: "The ID of the task to complete" } }, required: ["taskId"] } };
- src/index.ts:1083-1121 (registration)Registration of the todoist_complete_task tool (as COMPLETE_TASK_TOOL) in the list of available tools returned by ListToolsRequestSchema handler.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ // Task tools CREATE_TASK_TOOL, QUICK_ADD_TASK_TOOL, GET_TASKS_TOOL, GET_TASK_TOOL, UPDATE_TASK_TOOL, DELETE_TASK_TOOL, COMPLETE_TASK_TOOL, REOPEN_TASK_TOOL, SEARCH_TASKS_TOOL, MOVE_TASK_TOOL, BULK_MOVE_TASKS_TOOL, // Project tools GET_PROJECTS_TOOL, GET_PROJECT_TOOL, CREATE_PROJECT_TOOL, UPDATE_PROJECT_TOOL, DELETE_PROJECT_TOOL, // Section tools GET_SECTIONS_TOOL, CREATE_SECTION_TOOL, UPDATE_SECTION_TOOL, DELETE_SECTION_TOOL, // Label tools CREATE_LABEL_TOOL, GET_LABEL_TOOL, GET_LABELS_TOOL, UPDATE_LABEL_TOOL, DELETE_LABEL_TOOL, // Comment tools CREATE_COMMENT_TOOL, GET_COMMENT_TOOL, GET_COMMENTS_TOOL, UPDATE_COMMENT_TOOL, DELETE_COMMENT_TOOL, ], }));
- src/index.ts:788-798 (helper)Helper type guard function isTaskIdArgs used to validate input arguments for todoist_complete_task and similar task ID-based tools.function isTaskIdArgs(args: unknown): args is { taskId: string; } { return ( typeof args === "object" && args !== null && "taskId" in args && typeof (args as { taskId: string }).taskId === "string" ); }