update-todo
Modify existing tasks in Things 3 by updating fields like title, notes, deadlines, tags, and completion status using the SupaThings MCP server.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| auth-token | No | ||
| title | No | ||
| notes | No | ||
| when | No | ||
| deadline | No | ||
| tags | No | ||
| checklist_items | No | ||
| list_id | No | ||
| list | No | ||
| heading_id | No | ||
| heading | No | ||
| completed | No | ||
| canceled | No |
Implementation Reference
- src/index.ts:2017-2059 (handler)The handler implementation for the "update-todo" MCP tool, which updates an existing to-do in Things 3 using the `things:///update` URL scheme.
"update-todo", { id: z.string(), "auth-token": z.string().optional(), title: z.string().optional(), notes: z.string().optional(), when: z.string().optional(), deadline: z.string().optional(), tags: z.array(z.string()).optional(), checklist_items: z.array(z.string()).optional(), list_id: z.string().optional(), list: z.string().optional(), heading_id: z.string().optional(), heading: z.string().optional(), completed: z.boolean().optional(), canceled: z.boolean().optional(), }, async (params) => { const url = await openThingsURL( "update", buildURLParams( await enrichWriteParams("update", { id: params.id, "auth-token": params["auth-token"], title: params.title, notes: params.notes, when: params.when, deadline: params.deadline, tags: params.tags, "checklist-items": params.checklist_items, "list-id": params.list_id, list: params.list, "heading-id": params.heading_id, heading: params.heading, completed: params.completed, canceled: params.canceled, }), new Set(["checklist-items"]) ) ); return buildTextResponse("Updated todo in Things", { id: params.id, url }); } );