todoist_archive_ projectMarks a project as archived.
Ask what is due today, add a week of tasks from one message, push what slipped to next week, file tasks into the right project and section, and review what got done, in the Todoist account you already use.
PopMCPTodoist
Every operation in the Todoist API, REST and Sync alike, with the everyday task tools loaded by default and the rest, from workspaces and sharing to templates, backups and insights, one search away.
164 tools in the full catalog: 72 read and 92 write. 34 load by default, and the rest are found with tool search.
todoist_archive_ projectMarks a project as archived.
todoist_close_ taskComplete a task the way the Todoist apps do: a normal task is marked done (with its subtasks); a recurring task moves to its next date instead.
todoist_create_ projectCreates a new project and returns it
todoist_create_ taskCreate a new task.
todoist_delete_ taskDelete a task and all of its subtasks.
todoist_filter_ tasksActive tasks matching a Todoist filter query, the same syntax as the apps' filters: today, overdue, tomorrow, 7 days, no date, p1, #Project, ##Project (with sub-projects), /Section, @label, assigned to: me, search: word, combined with & (and), | (or), ! (not) and parentheses.
todoist_get_ projectReturns a project object related to the given ID
todoist_get_ project_ fullA project with everything in it in one call: the project, its sections, its active tasks, its collaborators and its comment count.
todoist_get_ taskReturns a single active (non-completed) task by ID
todoist_list_ completed_ tasksCompleted tasks whose completion time falls between since and until (at most 3 months apart), newest first, optionally only in one project, section, parent task or workspace, or matching filter_query.
todoist_list_ project_ collaboratorsGet all collaborators for a given project.
todoist_list_ projectsGet all active user projects, optionally filtered by folder or workspace.
todoist_list_ tasksGet all active tasks for the user.
todoist_move_ taskMoves task to another project, section or parent.
todoist_quick_ add_ taskAdd a task from one line of natural language, parsed exactly like the Todoist apps' Quick Add: dates (today, tomorrow at 5pm, every monday), #Project, /Section, @label, p1 to p4, +assignee, {deadline} and // description.
todoist_reopen_ taskReopens a task.
todoist_search_ completed_ tasksFull-text search over the user's completed tasks.
todoist_update_ projectUpdates a project and returns it.
todoist_update_ taskUpdates an existing task.
todoist_create_ reminderCreate a new reminder for a task.
todoist_create_ labelCreate a personal label.
todoist_create_ sectionCreate a new section
todoist_get_ productivity_ statsGet comprehensive productivity statistics for the authenticated user.
todoist_get_ userGet information about the currently authenticated user.
todoist_list_ labelsGet all user labels.
todoist_list_ sectionsGet all active sections for the user, optionally filtered by project or workspace.
todoist_list_ filtersThe user's saved personal filters: id, name, query (Todoist filter syntax), color, order and whether each is a favorite.
todoist_create_ commentCreates a new comment on a project or task and returns it.
todoist_list_ commentsGet all comments for a given task or project.
todoist_add_ tasksAdd up to 50 tasks in one call (one Todoist request): each with its own content, project, section, parent, due date in words (due_string: "tomorrow at 5pm"), deadline, priority ("p1" most urgent) and labels.
todoist_complete_ tasksComplete up to 100 tasks in one call (one Todoist request), the way the apps do: a normal task is marked done with its subtasks, a recurring task moves to its next date.
todoist_get_ overviewWhat is on the user's plate now: overdue tasks and today's tasks (Todoist's own today | overdue filter), grouped by project with project names, plus how many active projects there are.
todoist_sync_ commandsRun up to 100 Sync commands in one request, in order: for example create a project and add tasks to it in one go, using temp_id to refer to the new project.
todoist_list_ activitiesGet activity logs.
todoist_accept_ workspace_ invitationAccept a workspace invitation.
todoist_create_ workspaceCreates a new workspace and returns it.
todoist_delete_ workspaceDeletes a workspace.
todoist_delete_ workspace_ invitationDeletes a workspace invitation.
todoist_get_ workspaceReturns a workspace by ID.
todoist_get_ workspace_ members_ activityEach workspace member with their task activity (active, completed and overdue counts).
todoist_get_ workspace_ plan_ detailsLists details of the workspace's current plan and usage
todoist_invite_ workspace_ usersInvites users to a workspace by email.
todoist_join_ workspaceJoin a workspace via link or via workspace ID, if the user can auto-join the workspace by domain.
todoist_leave_ workspaceLeave a workspace.
todoist_list_ all_ workspace_ invitationsReturn a list containing details of all pending invitation to a workspace.
todoist_list_ workspace_ active_ projectsReturns all active workspace projects, including those visible but not joined by the user.
todoist_list_ workspace_ archived_ projectsReturn archived projects in a workspace.
todoist_list_ workspace_ invitationsReturn a list of user emails who have a pending invitation to a workspace.
todoist_list_ workspace_ user_ tasksThe tasks assigned to one member of a workspace.
todoist_list_ workspace_ usersReturns all workspace_users for a given workspace if workspace_id is provided.
todoist_list_ workspacesReturns all workspaces where the user is a member.
todoist_reject_ workspace_ invitationReject a workspace invitation.
todoist_remove_ workspace_ userRemoves an user from a workspace.
todoist_resend_ workspace_ invitationResend a Workspace Invitation.
todoist_update_ workspaceUpdates an existing workspace and returns it.
todoist_update_ workspace_ logoSet a workspace's logo image, or remove it with delete true.
todoist_update_ workspace_ sidebar_ preferenceUpdate user sidebar preference.
todoist_update_ workspace_ user_ roleUpdates a workspace user's role.
todoist_complete_ recurring_ taskComplete a recurring task.
todoist_complete_ task_ fullyComplete task.
todoist_count_ archived_ projectsHow many archived projects the user has, optionally only in one workspace or only the ones the user joined.
todoist_delete_ projectDeletes a project and all of its sections and tasks.
todoist_get_ completed_ countsHow many completed tasks each active project, section and parent task holds (and archived sections per project).
todoist_get_ project_ permissionsReturns a list of all the available roles and the associated actions they can perform in a project.
todoist_join_ project_Only used for workspaces_ This endpoint is used to join a workspace project by a workspace_user and is only usable by the workspace user.
todoist_leave_ projectLeave a project.
todoist_list_ archived_ projectsGet the user's archived projects.
todoist_list_ completed_ tasks_ by_ due_ dateCompleted tasks whose DUE date falls between since and until (at most 6 weeks apart), optionally only in one project, section, parent task or workspace, or matching filter_query.
todoist_move_ projectMove a project.
todoist_search_ projectsSearch active user projects by name.
todoist_unarchive_ projectMarks a previously archived project as active again.
todoist_clear_ reminder_ locationsClear locations.
todoist_create_ location_ reminderCreate a new location reminder for a task.
todoist_delete_ location_ reminderDelete a location reminder by ID.
todoist_delete_ reminderDelete a reminder by ID.
todoist_get_ location_ reminderReturn a single location reminder by ID.
todoist_get_ reminderReturn a single reminder by ID.
todoist_list_ location_ remindersGet all active location reminders.
todoist_list_ reminder_ locationsThe saved places location reminders can use (name, latitude, longitude).
todoist_list_ remindersGet all active reminders.
todoist_update_ location_ reminderUpdate an existing location reminder.
todoist_update_ reminderUpdate an existing reminder.
todoist_archive_ sectionMarks a section as archived.
todoist_delete_ labelDeletes a personal label.
todoist_delete_ sectionDelete the section and all of its tasks
todoist_get_ labelReturn a personal label by ID.
todoist_get_ notification_ settingsWhich notification types the user gets by email and push.
todoist_get_ sectionReturn the section for the given section ID
todoist_get_ user_ plan_ limitsWhat the user's plan allows now and on the next plan: max projects, sections, tasks per project, labels, filters, collaborators, upload size, reminders, comments, activity log and more.
todoist_get_ user_ settingsThe user's reminder and completion-sound settings.
todoist_list_ shared_ labelsReturns a set of unique strings containing shared labels from active tasks.
todoist_move_ sectionMove a section.
todoist_remove_ shared_ labelRemove the given shared label from all active tasks
todoist_rename_ shared_ labelRename the given shared label from all active tasks
todoist_search_ labelsSearch user labels by name.
todoist_search_ sectionsSearch active sections by name, optionally filtered by project or workspace.
todoist_unarchive_ sectionMarks a section as active again.
todoist_update_ karma_ goalsUpdate karma goals.
todoist_update_ labelUpdate a personal label.
todoist_update_ notification_ settingUpdate a notification delivery preference.
todoist_update_ sectionUpdate a section.
todoist_update_ userUpdate user's properties.
todoist_update_ user_ settingsUpdate user settings.
todoist_accept_ project_ invitationAccept an invitation to join a shared project.
todoist_change_ project_ collaborator_ roleChange project role.
todoist_create_ filterAdd a filter.
todoist_create_ workspace_ filterAdd a workspace filter.
todoist_delete_ filterDelete a personal filter.
todoist_delete_ project_ invitationDelete an invitation to join a shared project.
todoist_delete_ workspace_ filterDelete a workspace filter.
todoist_get_ role_ actionsWhich actions each project role (creator, admin, read_write, edit_only, complete_only, read_only) may perform.
todoist_list_ shared_ project_ collaboratorsEveryone the user shares projects with (id, name, email) and, per project, each collaborator's state (active, invited...) and role.
todoist_list_ workspace_ filtersFilters shared in the user's workspaces (team filters): id, workspace_id, name, query, color, order.
todoist_reject_ project_ invitationReject an invitation to join a shared project.
todoist_remove_ project_ collaboratorDelete a collaborator.
todoist_share_ projectShare a project with another user.
todoist_update_ filterUpdate a filter.
todoist_update_ workspace_ filterUpdate a workspace filter.
todoist_add_ comment_ reactionAdds the authenticated user's reaction to a task or project comment and returns the updated comment.
todoist_delete_ commentDelete a comment by ID
todoist_delete_ view_ optionsDelete view option.
todoist_get_ commentReturns a single comment by ID
todoist_list_ project_ view_ defaultsEach project's default view (mode, grouping, sorting) that new viewers see.
todoist_list_ user_ item_ ordersThe user's own task orderings (for example the Today and Upcoming order): one entry per task with its order_key.
todoist_list_ view_ optionsSaved view customizations (grouping, sorting, filtering, list/board/calendar mode) for Today, Upcoming, projects, labels and filters.
todoist_remove_ comment_ reactionRemoves the authenticated user's reaction from a task or project comment.
todoist_set_ project_ view_ defaultsUpdates the default view options for a project.
todoist_set_ view_ optionsSet a view option.
todoist_update_ commentUpdate a comment by ID and returns its content
todoist_update_ user_ item_ orderUpdate an user item order.
todoist_analyze_ project_ healthAsk Todoist to assess a project's health again now.
todoist_get_ project_ activity_ statsDaily (and optionally weekly) counts of one kind of event in a project, for example completed tasks over the last weeks.
todoist_get_ project_ healthTodoist's health assessment of a project (status such as on track or at risk, with the reasons), from the last analysis.
todoist_get_ project_ health_ contextThe data a project health assessment is based on: task counts, overdue and recent activity.
todoist_get_ project_ progressHow far along a project is: completed and active task counts and the share done.
todoist_get_ workspace_ insightsProgress and health for the projects in a workspace.
todoist_create_ folderCreate a new folder in the given workspace.
todoist_create_ project_ from_ template_ fileCreate a new project from a template file.
todoist_delete_ folderDelete a folder.
todoist_export_ project_ template_ fileA project as a Todoist template CSV (its sections and tasks), returned as text.
todoist_export_ project_ template_ urlA link to download a project as a Todoist template file.
todoist_get_ folderReturn the folder for the given folder ID.
todoist_import_ template_ file_ into_ projectImport a template file (a Todoist template CSV, for example one from export_project_template_file) into an existing project: its sections and tasks are added.
todoist_import_ template_ into_ projectImport a saved template into an existing project.
todoist_list_ foldersGet all folders for a workspace.
todoist_list_ notificationsThe user's in-app notifications (shares, assignments, comments, completions, invitations...), newest first, with live_notifications_last_read_id: the last one marked read.
todoist_mark_ all_ notifications_ readMark all as read.
todoist_mark_ notifications_ readMark as read.
todoist_mark_ notifications_ unreadMark as unread.
todoist_set_ last_ read_ notificationSet last known.
todoist_update_ folderUpdate an existing folder.
todoist_get_ subscription_ infoReturn the current user's subscription state.
todoist_get_ usage_ billing_ stateRead the caller's usage-billing credit state for a product.
todoist_get_ usage_ billing_ summaryTotal the caller's settled usage over a window.
todoist_list_ usage_ billing_ historyList the caller's usage-billing ledger entries, newest first.
todoist_delete_ uploadDelete an uploaded file.
todoist_disable_ forwarding_ emailDisable the current email to a Todoist object
todoist_get_ backup_ download_ linkA download link for one backup archive (a zip of the account's data).
todoist_get_ id_ mappingsTranslates IDs from v1 to v2 or vice versa.
todoist_get_ moved_ idsNew ids for objects that were moved.
todoist_get_ or_ create_ forwarding_ emailGet or create an email to a Todoist object, currently only projects and tasks are supported.
todoist_list_ backupsThe automatic backups Todoist keeps of the account (version and url per backup, newest first).
todoist_sync_ readRead any Todoist data in one call through the Sync endpoint: pass resource_types, for example ["projects", "items", "sections", "labels"], or ["all"].
todoist_upload_ fileUpload a file (image, PDF, document, up to the plan's upload_limit_mb) to attach to a comment.
Credentials off one Todoist screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
In Todoist open Settings, then Integrations, then the Developer tab, click Copy API token and paste it into PopMCP. It works on every Todoist plan and needs no app or approval. PopMCP checks whose account it is and locks the connection to it.
••••••••••••3f7aAdding, completing, moving and deleting tasks, projects and labels are writes and wait until an owner or admin allows write actions; new connections start read-only. Deleting a task or project in Todoist is permanent, so keep teammates who only plan on read-only.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Todoist credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
What is overdue or due today in Todoist? Group it by project and tell me what to do first
todoist_get_overviewok
Then just ask for the work
“What is overdue or due today in Todoist? Group it by project and tell me what to do first”
“Add milk, eggs and coffee beans to my Groceries project, all due tomorrow”
“Move everything overdue in my Work project to next Monday”
“Mark the three tasks about the launch email as done”
“What did I finish last week, and which projects did most of it come from?”
“Create a saved filter called Urgent this week for p1 tasks due in the next seven days”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Todoist behind an AI client.
Your Todoist API token. In Todoist on the web or desktop, open Settings, then Integrations, then the Developer tab, and click Copy API token. Paste it into PopMCP, which checks whose account it is, stores it encrypted and locks the connection to that account. Tokens work on every plan, Todoist reviews nothing, and the token never reaches your AI client. If you later issue a new token in Todoist, paste the new one.
Todoist's API counts priority the other way round from its apps: p1, the red and most urgent, is 4 in the API, and p4 is 1. PopMCP accepts p1 to p4 in every tool and converts them, and every tool description says which way round it is, so a request for a p1 task lands as urgent and not as the lowest priority.
Yes. add_tasks adds up to 50 tasks in one call, each with its own project, section, due date in words such as tomorrow at 5pm, priority and labels, and answers with every new id. complete_tasks checks off up to 100 tasks the same way. For bigger or mixed changes, sync_commands runs up to 100 Todoist commands in one request, so a whole plan counts as a single call against Todoist's limits.
Yes. The connection is one Todoist user and reaches everything that user can see: their own projects, projects shared with them and their team workspaces. Tools cover sharing a project, collaborators and roles, workspace members and invitations, folders, workspace filters and project health, alongside the everyday task and project tools.
Yes. Every connection starts read-only, which keeps every read, including today's overview, completed tasks, filters and the activity log, and blocks every change. An owner or admin can allow write actions later. Even with writes allowed, PopMCP never changes your Todoist email address or password.
PopMCP watches your Todoist activity log and lists, so a workflow can start when a task is added, completed, updated, reopened or deleted, when a task becomes overdue, when a comment, project or section is added, when a project is archived, or when a Todoist notification arrives. Nothing needs to be set up in Todoist.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Connect Todoist in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Todoist on the consent screen. The Todoist tools are then available in that session, and no Todoist credential is stored on your machine.
Loading 164 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 34-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.
A tool is something your AI calls, and there are 164 here. A trigger is something PopMCP watches for you: 14 Todoist events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Todoist.
Launch a hosted MCP endpoint for Todoist, keep tool access under control, and start testing real workflow prompts right away.