delete_task
Erase a task from your Habitica account by providing its unique task ID. Useful for removing completed or unwanted tasks to maintain an organized task list.
Instructions
Delete a task by id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes |
Implementation Reference
- index.js:156-164 (registration)Tool registration with name 'delete_task', description 'Delete a task by id.', and inputSchema requiring a string 'taskId'.
{ name: "delete_task", description: "Delete a task by id.", inputSchema: { type: "object", properties: { taskId: { type: "string" } }, required: ["taskId"], }, }, - index.js:396-399 (handler)Handler function that executes the 'delete_task' logic: sends a DELETE request to /tasks/:taskId and returns a confirmation message.
delete_task: async ({ taskId }) => { await api("DELETE", `/tasks/${taskId}`); return ok(`Deleted task ${taskId}.`); }, - index.js:58-367 (registration)The entire tools array is registered as the response to ListToolsRequestSchema on line 480, making 'delete_task' discoverable.
const tools = [ { name: "get_user_profile", description: "Get the authenticated user's full profile (stats, prefs, items, party, etc).", inputSchema: { type: "object", properties: {} }, }, { name: "get_stats", description: "Get user stats only (HP, MP, XP, level, gold, class).", inputSchema: { type: "object", properties: {} }, }, { name: "get_tasks", description: "List tasks. Optionally filter by type.", inputSchema: { type: "object", properties: { type: { type: "string", enum: ["habits", "dailys", "todos", "rewards", "completedTodos"], description: "Optional task-type filter.", }, }, }, }, { name: "get_task", description: "Get a single task by id.", inputSchema: { type: "object", properties: { taskId: { type: "string" } }, required: ["taskId"], }, }, { name: "create_task", description: "Create a habit, daily, todo, or reward.", inputSchema: { type: "object", properties: { type: { type: "string", enum: ["habit", "daily", "todo", "reward"] }, text: { type: "string", description: "Title." }, notes: { type: "string", description: "Notes / description." }, difficulty: { type: "number", enum: [0.1, 1, 1.5, 2], description: "0.1=trivial, 1=easy, 1.5=medium, 2=hard.", }, priority: { type: "number", enum: [0.1, 1, 1.5, 2], description: "0.1=low, 1=med, 1.5=high, 2=urgent.", }, date: { type: "string", description: "Due date for todos (ISO)." }, value: { type: "number", description: "Cost in gold for rewards." }, checklist: { type: "array", items: { type: "object", properties: { text: { type: "string" }, completed: { type: "boolean", default: false }, }, required: ["text"], }, }, }, required: ["type", "text"], }, }, { name: "update_task", description: "Update fields on a task (text, notes, difficulty, priority, etc).", inputSchema: { type: "object", properties: { taskId: { type: "string" }, text: { type: "string" }, notes: { type: "string" }, difficulty: { type: "number", enum: [0.1, 1, 1.5, 2] }, priority: { type: "number", enum: [0.1, 1, 1.5, 2] }, date: { type: "string" }, }, required: ["taskId"], }, }, { name: "score_task", description: "Score a task. direction='up' completes a todo/daily or marks a + habit; 'down' is for negative habits.", inputSchema: { type: "object", properties: { taskId: { type: "string" }, direction: { type: "string", enum: ["up", "down"], default: "up" }, }, required: ["taskId"], }, }, { name: "delete_task", description: "Delete a task by id.", inputSchema: { type: "object", properties: { taskId: { type: "string" } }, required: ["taskId"], }, }, // Checklist { name: "get_task_checklist", description: "Get checklist items for a task.", inputSchema: { type: "object", properties: { taskId: { type: "string" } }, required: ["taskId"], }, }, { name: "add_checklist_item", description: "Add a checklist item to a task.", inputSchema: { type: "object", properties: { taskId: { type: "string" }, text: { type: "string" }, }, required: ["taskId", "text"], }, }, { name: "update_checklist_item", description: "Update text/completed on a checklist item.", inputSchema: { type: "object", properties: { taskId: { type: "string" }, itemId: { type: "string" }, text: { type: "string" }, completed: { type: "boolean" }, }, required: ["taskId", "itemId"], }, }, { name: "score_checklist_item", description: "Toggle a checklist item complete/incomplete.", inputSchema: { type: "object", properties: { taskId: { type: "string" }, itemId: { type: "string" }, }, required: ["taskId", "itemId"], }, }, { name: "delete_checklist_item", description: "Delete a checklist item.", inputSchema: { type: "object", properties: { taskId: { type: "string" }, itemId: { type: "string" }, }, required: ["taskId", "itemId"], }, }, // Tags { name: "get_tags", description: "Get all tags.", inputSchema: { type: "object", properties: {} }, }, { name: "create_tag", description: "Create a tag.", inputSchema: { type: "object", properties: { name: { type: "string" } }, required: ["name"], }, }, // Inventory / pets / mounts / equip { name: "get_inventory", description: "Get full inventory (items, eggs, food, hatching potions, special).", inputSchema: { type: "object", properties: {} }, }, { name: "get_pets", description: "Get owned pets map.", inputSchema: { type: "object", properties: {} }, }, { name: "get_mounts", description: "Get owned mounts map.", inputSchema: { type: "object", properties: {} }, }, { name: "feed_pet", description: "Feed a pet a piece of food.", inputSchema: { type: "object", properties: { pet: { type: "string", description: "Pet key, e.g. Wolf-Base." }, food: { type: "string", description: "Food key, e.g. Meat." }, }, required: ["pet", "food"], }, }, { name: "hatch_pet", description: "Hatch a pet from an egg + hatching potion.", inputSchema: { type: "object", properties: { egg: { type: "string" }, hatchingPotion: { type: "string" }, }, required: ["egg", "hatchingPotion"], }, }, { name: "equip_item", description: "Equip a pet, mount, costume piece, or battle gear.", inputSchema: { type: "object", properties: { type: { type: "string", enum: ["pet", "mount", "costume", "equipped"] }, key: { type: "string" }, }, required: ["type", "key"], }, }, // Rewards / shop / spells { name: "buy_reward", description: "Buy a custom reward by key.", inputSchema: { type: "object", properties: { key: { type: "string" } }, required: ["key"], }, }, { name: "get_shop", description: "Get items in a shop (default: market).", inputSchema: { type: "object", properties: { shopType: { type: "string", enum: ["market", "questShop", "timeTravelersShop", "seasonalShop"], default: "market", }, }, }, }, { name: "buy_item", description: "Buy an item from a shop.", inputSchema: { type: "object", properties: { itemKey: { type: "string" }, quantity: { type: "number", default: 1 }, }, required: ["itemKey"], }, }, { name: "cast_spell", description: "Cast a class spell, optionally on a target task or party member.", inputSchema: { type: "object", properties: { spellId: { type: "string" }, targetId: { type: "string" }, }, required: ["spellId"], }, }, // Notifications { name: "get_notifications", description: "Get unread notifications.", inputSchema: { type: "object", properties: {} }, }, { name: "read_notification", description: "Mark a notification as read.", inputSchema: { type: "object", properties: { notificationId: { type: "string" } }, required: ["notificationId"], }, }, // Cron { name: "run_cron", description: "Run the daily cron (advance day, apply damage from missed dailies). Normally auto-runs on first action of the day.", inputSchema: { type: "object", properties: {} }, }, ]; - index.js:482-492 (registration)The CallToolRequestSchema handler uses the handlers object to dispatch 'delete_task' by name.
server.setRequestHandler(CallToolRequestSchema, async (req) => { const { name, arguments: args = {} } = req.params; const fn = handlers[name]; if (!fn) throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`); try { return await fn(args); } catch (err) { if (err instanceof McpError) throw err; throw new McpError(ErrorCode.InternalError, err?.message ?? String(err)); } });