complete_task
Mark a task as done
Add, find, update and complete Todoist tasks in conversation — including due dates, priorities, labels and projects.
LABSCO SUMMARY
The shape of the tool set tells you how to use it: get_tasks returns ids, and update, complete and delete all take an id. So the working pattern is find-then-act — describe the task in words, let the listing tool resolve it, then operate on what came back. Dates take a plain YYYY-MM-DD, with deadline kept separate from due date.
A Python server over the Todoist API, covering task creation, retrieval and management. It handles the authentication and the data shaping so the conversation stays in terms of tasks rather than API payloads.
create_taskget_tasksdue_date and deadline_date — update_taskcomplete_task, delete_taskA Todoist account and its API token in TODOIST_API_TOKEN, taken from User Settings → Integrations → Developer. Python 3.12 or later, and uv. Runs straight from the repository with uvx --from https://github.com/Johnxjp/todoist-mcp-python.git mcp-server-todoist, so there is nothing to clone first.
One command plus a key — uvx --from https://github.com/Johnxjp/todoist-mcp-python.git mcp-server-todoist, then supply credentials
USE CASES
Create it with content, a due date and the project it belongs in, rather than switching apps and losing the thread of what you were doing.
List tasks with the overdue filter and a priority filter, so you get the short list instead of the whole inbox.
Find the task by name to get its id, then mark it complete — two calls, no app switch.
Pull the affected tasks, then update their priority, due date or deadline in place.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
complete_taskMark a task as done
create_taskCreate a new task
Args:
delete_taskDelete a task by its ID
get_projectsGet all todo projects. These are like folders for tasks in Todoist
get_tasksFetch user's tasks. These can be filtered by project, labels, time, etc. If no filters are provided, all tasks are returned.
Args:
update_taskUpdate an attribute of a task given its ID. Any attribute can be updated.
Args:
BEFORE YOU INSTALL
6 tools when we connected.
The documented client runs the server on your machine.
CONTEXT COST
Rated by the size of the 6 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
uvx --from https://github.com/Johnxjp/todoist-mcp-python.git mcp-server-todoist{
"mcpServers": {
"todoist-server": {
"command": "uvx",
"args": [
"--from",
"https://github.com/Johnxjp/todoist-mcp-python.git",
"mcp-server-todoist"
],
"env": {
"TODOIST_API_TOKEN": "<YOUR_TODOIST_API_TOKEN>"
}
}
}
}