todoist_delete_comment
Remove a specific comment from Todoist by its ID using this tool. It integrates with the Enhanced Todoist MCP Server for streamlined task and project management.
Instructions
Delete a comment by its ID
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| commentId | Yes | The ID of the comment to delete |
Implementation Reference
- src/index.ts:1798-1811 (handler)The core handler logic within the CallToolRequestSchema request handler that validates input using isCommentIdArgs, calls todoistClient.deleteComment, and returns success or error response.if (name === "todoist_delete_comment") { if (!isCommentIdArgs(args)) { return { content: [{ type: "text", text: "Invalid arguments for delete_comment" }], isError: true }; } try { await todoistClient.deleteComment(args.commentId); return { content: [{ type: "text", text: `Comment ${args.commentId} deleted.` }], isError: false }; } catch (error: any) { return { content: [{ type: "text", text: `Error deleting comment: ${error.message}` }], isError: true }; } }
- src/index.ts:676-689 (schema)The Tool object definition specifying the name, description, and input JSON schema (requiring commentId string) for the todoist_delete_comment tool.const DELETE_COMMENT_TOOL: Tool = { name: "todoist_delete_comment", description: "Delete a comment by its ID", inputSchema: { type: "object", properties: { commentId: { type: "string", description: "The ID of the comment to delete" } }, required: ["commentId"] } };
- src/index.ts:1039-1048 (helper)Type guard helper function used by the handler to validate that input arguments contain a valid string commentId.function isCommentIdArgs(args: unknown): args is { commentId: string; } { return ( typeof args === "object" && args !== null && "commentId" in args && typeof (args as { commentId: string }).commentId === "string" ); }
- src/index.ts:1083-1121 (registration)The tool is registered for discovery by including DELETE_COMMENT_TOOL in the tools array returned by the 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, ], }));