Skip to main content
Glama

complete_task

Mark Todoist tasks as completed using their unique ID to track progress and manage your to-do list.

Instructions

Complete a task by its ID

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_idYesThe ID of the task to complete

Implementation Reference

  • The completeTaskTool object defines the 'complete_task' tool, including its schema and handler function. The handler calls the completeTask service with the task_id argument, handles errors, and returns the result in MCP content format.
    export const completeTaskTool: Tool = { schema: { name: 'complete_task', description: 'Complete a task by its ID', inputSchema: { type: 'object', properties: { task_id: { type: 'string', description: 'The ID of the task to complete', }, }, required: ['task_id'], }, }, handler: async (args: { task_id: string }) => { try { const result = await completeTask(args.task_id); return { content: [ { type: 'text', text: result, }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error: ${ error instanceof Error ? error.message : 'Unknown error' }`, }, ], }; } }, };
  • Input schema for the 'complete_task' tool, defining the required 'task_id' parameter.
    schema: { name: 'complete_task', description: 'Complete a task by its ID', inputSchema: { type: 'object', properties: { task_id: { type: 'string', description: 'The ID of the task to complete', }, }, required: ['task_id'], }, },
  • Registration of the 'complete_task' handler in the toolsWithArgs map used by handleToolRequest to dispatch tool calls.
    const toolsWithArgs: Record<string, (args: any) => Promise<ToolResponse>> = { get_task_comments: getTaskCommentsTool.handler, create_project_label: createProjectLabelTool.handler, create_task_comment: createTaskCommentTool.handler, update_task: updateTaskTool.handler, create_task: createTaskTool.handler, move_task: moveTaskTool.handler, get_tasks_with_label: getTasksWithLabelTool.handler, complete_task: completeTaskTool.handler, uncomplete_task: uncompleteTaskTool.handler, search_tasks: searchTasksTool.handler, search_tasks_using_and: searchTasksUsingAndTool.handler, search_tasks_using_or: searchTasksUsingOrTool.handler, complete_becky_task: completeBeckyTaskTool.handler, };
  • src/index.ts:98-98 (registration)
    The completeTaskTool.schema is included in the list of tools returned by the MCP ListTools handler.
    completeTaskTool.schema,
  • The core completeTask helper function that performs the actual Todoist API call to close the task, after validation.
    export async function completeTask(taskId: string): Promise<string> { const client = getTodoistClient(); try { // Check if task is in a Brian shared project await throwIfTaskIsFromBecky(taskId); if (!client.post) { throw new Error('POST method not available on client'); } await client.post(`/tasks/${taskId}/close`); return 'Task completed successfully'; } catch (error) { throw new Error(`Failed to complete task: ${getErrorMessage(error)}`); } }

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/bkotos/todoist-mcp'

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