Create tasks, list projects, manage labels, and close tasks via Todoist REST API
130+ deploysclaude mcp add todoist --url https://datafaucet.dev/api/mcp/t/todoist
Run this command in your terminal · most users connect in under 60s
GET endpoints
list_tasks
List active tasks. Filter with 'project_id', 'section_id', 'label', or 'filter' (Todoist filter syntax like 'today', 'overdue', 'p1'). Returns id, content, description, is_completed, priority (1-4, where 4=urgent), due (date/datetime/string), labels[], project_id, section_id, parent_id, order, and created_at.
https://api.todoist.com/rest/v2/tasks
list_projects
List all projects. Returns id, name, color, parent_id (for sub-projects), order, is_favorite, is_inbox_project, view_style (list/board), and url. Use project_id to filter tasks or create tasks in a specific project.
https://api.todoist.com/rest/v2/projects
list_labels
List personal labels. Returns id, name, color, order, and is_favorite. Labels can be attached to tasks for cross-project organization. Use label names (not IDs) when creating or updating tasks.
https://api.todoist.com/rest/v2/labels
get_task
Get a single task by ID. Returns full task object: id, content, description, is_completed, priority, due, labels, project_id, section_id, parent_id, creator_id, assignee_id, comment_count, url.
https://api.todoist.com/rest/v2/tasks/{task_id}
POST endpoints
create_task
Create a task. Required: 'content' (title). Optional: 'description', 'project_id', 'section_id', 'parent_id' (for subtasks), 'priority' (1=normal, 4=urgent), 'due_string' (natural language: 'tomorrow', 'every monday'), 'due_date' (YYYY-MM-DD), 'labels' (string[]), 'assignee_id', 'duration' and 'duration_unit'. Returns created task with ID.
https://api.todoist.com/rest/v2/tasks
close_task
Mark a task as complete by task_id. Returns 204 No Content on success. For recurring tasks, this completes the current occurrence and schedules the next one automatically. Use 'reopen' endpoint to undo.
https://api.todoist.com/rest/v2/tasks/{task_id}/close
update_task
Update a task by ID. All fields optional: content, description, priority (1-4), due_string, due_date, labels (string[]), assignee_id, duration, duration_unit. Only provided fields are changed. Returns updated task object.
https://api.todoist.com/rest/v2/tasks/{task_id}
Run this in your terminal:
claude mcp add todoist https://datafaucet.dev/api/mcp/t/todoist
Connect Todoist to your AI agent in under 60 seconds. No account required.
{notion_token}) with your real credentialsNeed API keys? Try our free sandbox templates first to see MCP in action with zero setup.
Replace these placeholders with your real values before deploying:
{due_string}Your value{new_content}Your value{priority}Your value{project_id}Resource identifier{task_content}Your value{task_id}Resource identifier{todoist_api_token}API settings pagePreview:
GET https://api.todoist.com/rest/v2/tasks Authorization: Bearer {todoist_api_token}
claude mcp add todoist --url https://datafaucet.dev/api/mcp/t/todoistWhat your AI agent sees
I have access to 7 tools from Todoist: list_tasks, create_task, close_task, and 4 more.
“List active tasks. Filter with 'project_id', 'section_id', 'label', or 'filter' (Todoist filter syntax like 'today', 'overdue', 'p1'). Returns id, content, description, is_completed, priority (1-4, where 4=urgent), due (date/datetime/string), labels[], project_id, section_id, parent_id, order, and created_at.”
Calling list_tasks... Done. Here are the results.
Try these prompts
“Show me all tasks due today sorted by priority”
Copy“Create a task 'Review Q3 roadmap' due next Monday in the Work project”
Copy“Close all completed tasks in my Inbox and tell me what's left”
CopyClick any prompt to copy, then paste into your AI client.