
Todoist MCP (Local, API Key): Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor and other assistants find, add, reschedule and complete your Todoist tasks, running on your own computer.
This is the same Todoist server from Doist as the hosted one, but you run it yourself with npx and your Todoist API token instead of signing in through your browser. Pick it when your app cannot use the hosted address, or when you want to run it on your own machine. Your assistant can then find, add, update and complete tasks, and manage projects, sections, labels, comments and reminders. The token gives it the same access to your account as you have.
Good for
- People whose AI app only runs local commands
- Developers who want to run the server on their own machine
- Todoist users who prefer an API token over browser sign-in
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install todoist MCP
Claude Code
- 1
Copy this prompt.
Add the todoist MCP server to Claude Code. Run this command: claude mcp add todoist -e TODOIST_API_KEY=<TODOIST_API_KEY> -- npx -y @doist/todoist-mcp Ask me for TODOIST_API_KEY and only put the values in that config, nowhere else. Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
Built from the package data we hold. Not yet tested by us.
Tools
Shows tasks due today, this week or in any date range, overdue included
Lists your tasks for a date range. Asking for today also includes anything overdue, and by default it leaves out tasks assigned to other people.
Try: “What do I have due today, including anything overdue?”
Network ·
find-tasks-by-dateFinds tasks by keyword, project, label, assignee or a saved filter
Searches your tasks by text, by project or section, by who they are assigned to, by label, or with a Todoist filter you have saved or describe.
Try: “Find all my tasks labelled waiting in the Work project.”
Network ·
find-tasksGives a quick summary of your account or one project
Returns a readable overview of your projects, or of one project's sections and tasks, so the assistant can see the big picture before acting.
Try: “Give me an overview of my Home Renovation project.”
Network ·
get-overviewLists your projects or finds one by name, archived ones included
Lists your active projects or searches them by name. It can also include archived projects when you ask.
Try: “Show me all my projects, including archived ones.”
Network ·
find-projectsOpens one task, project, section or comment with all its details
Gets the full details of a single task, project, section or comment, and can include its subtasks or sub-projects.
Try: “Show me everything about the 'Book flights' task, including its subtasks.”
Network ·
fetch-objectLists or searches the sections inside a project
Finds sections in a project by name.
Try: “What sections are in my Website refresh project?”
Network ·
find-sectionsReads the comments on a task or project
Gets the comments on a task or project, or one comment by itself.
Try: “Read me the comments on the 'Q4 budget' task.”
Network ·
find-commentsOpens a file attached to a comment, such as an image or PDF
Opens a file that someone attached to a Todoist comment. Images and text come back directly so the assistant can read them.
Try: “Open the PDF attached to the latest comment on the contract task.”
Network ·
view-attachmentLists your labels, including labels shared with you
Lists your personal labels and the shared labels used on tasks shared with you, and can search them by name.
Try: “Which labels do I have?”
Network ·
find-labelsLists your saved filters or finds one by name
Lists your saved filter views, such as 'today & p1', or finds one by name.
Try: “Show me my saved filters.”
Network ·
find-filtersShows the reminders set on a task
Lists every reminder on a task, including location reminders, or one reminder by itself.
Try: “What reminders are set on my dentist appointment task?”
Network ·
find-remindersLists tasks completed in a date range, 7 days by default
Lists tasks that were completed between two dates, for you or for collaborators. It covers the last 7 days if you give no dates.
Try: “Which tasks did the team complete in the Launch project last week?”
Network ·
find-completed-tasksReads the activity log of who changed or completed what, and when
Reads the activity log to see what was added, changed or completed, by whom and when. This is the reliable way to answer what you finished, including recurring tasks.
Try: “Using my Todoist activity log, what did I complete yesterday?”
Network ·
find-activityLooks up people you share projects with by name or email
Finds a teammate or collaborator by name or email so tasks can be assigned to them or their work looked up.
Try: “Who is Carrie on my shared projects?”
Network ·
find-project-collaboratorsLists your team workspaces and your role in each
Lists the Todoist team workspaces you belong to, with their plan and your role.
Try: “Which Todoist workspaces am I in?”
Network ·
list-workspacesShows your completion counts, goal streaks and karma
Reports how many tasks you completed per day and week, your goal streaks and your karma trend. It does not list the tasks themselves.
Try: “How is my productivity streak looking this month?”
Network ·
get-productivity-statsShows whether a project is on track or at risk
Gives a project's health status, from excellent to critical, with its completion progress and optional detail.
Try: “Is the Website refresh project on track?”
Network ·
get-project-healthShows how many tasks a project completes per day or week
Gives daily, and optionally weekly, completion counts for a project over 1 to 12 weeks to show trends.
Try: “How many tasks did we finish in the Launch project each week this quarter?”
Network ·
get-project-activity-statsSummarizes health and progress across a team workspace
Rolls up health and progress across all projects in a workspace, or the ones you pick.
Try: “Give me a health overview of every project in our Marketing workspace.”
Network ·
get-workspace-insightsAdds one or more tasks, with dates, priorities and assignees
Creates new tasks in a project, section or under a parent task, and can assign them to collaborators.
Try: “Add 'Send invoice to Acme' to my Work project, due Friday, priority 1.”
Write ·
add-tasksMarks tasks as done
Completes one or more tasks. A recurring task moves on to its next date.
Try: “Mark 'Pay rent' as done.”
Write ·
complete-tasksMoves tasks to new dates and keeps their repeat schedules
Changes the due date of tasks without breaking recurring schedules. Use this instead of editing the date.
Try: “Reschedule my Weekly Review to Friday.”
Write ·
reschedule-tasksEdits tasks: title, description, dates, priority or assignee
Changes existing tasks, such as their wording, priority, dates or assignee. Changing a recurring task's date this way removes its repeat.
Try: “Change the priority of 'Draft proposal' to 2 and add a note about the client call.”
Write ·
update-tasksReopens tasks that were marked done
Reopens completed tasks so they show up as open again.
Try: “Reopen the 'Call the bank' task I completed by mistake.”
Write ·
uncomplete-tasksCreates new projects
Creates one or more new projects.
Try: “Create a project called Website refresh.”
Write ·
add-projectsAdds sections to a project
Creates new sections inside projects.
Try: “Add sections Content, Design and Launch to the Website refresh project.”
Write ·
add-sectionsAdds comments to tasks or projects and can notify people
Posts comments on tasks or projects, and can notify the collaborators you name.
Try: “Comment on the 'Q4 budget' task that the numbers are final and notify Ana.”
Write ·
add-commentsCreates new labels
Creates one or more personal labels.
Try: “Create a label called waiting.”
Write ·
add-labelsCreates saved filter views
Creates saved filter views that use Todoist's query syntax.
Try: “Create a filter that shows overdue priority 1 tasks.”
Write ·
add-filtersSets reminders on tasks, by time or by location
Adds reminders to tasks: some minutes before the due time, at a set date and time, or when you reach a place.
Try: “Remind me 30 minutes before my dentist appointment.”
Write ·
add-remindersAssigns, unassigns or reassigns tasks in bulk
Assigns several tasks to someone at once, or removes or changes the assignee. New assignees are notified, and you can preview the changes first.
Try: “Reassign all of Ben's open tasks in the Launch project to Carrie.”
Write ·
manage-assignmentsEdits project names, colors and other settings
Changes existing projects, such as their name or color.
Try: “Rename the Home project to Home and Garden.”
Write ·
update-projectsRenames or edits sections
Changes existing sections in a project.
Try: “Rename the Design section to Visual design.”
Write ·
update-sectionsEdits existing comments
Changes the text of existing comments. Editing does not send notifications.
Try: “Fix the typo in my last comment on the budget task.”
Write ·
update-commentsRenames or recolors labels
Changes your labels' name, color, order or favorite status. Shared labels can only be renamed.
Try: “Rename the label waiting to blocked.”
Write ·
update-labelsEdits saved filters
Changes existing saved filters.
Try: “Change my Urgent filter to also include tasks due tomorrow.”
Write ·
update-filtersChanges existing reminders
Changes the time or place of reminders that are already set.
Try: “Move the reminder on my dentist task to one hour before.”
Write ·
update-remindersArchives or unarchives a project
Archives a finished project, or brings an archived one back.
Try: “Archive the Q3 Launch project.”
Write ·
project-managementMoves a project between your personal space and a team workspace
Moves a project from your personal projects into a team workspace, or back.
Try: “Move my Website refresh project into the Marketing workspace.”
Write ·
project-moveReorders projects or sections, or nests projects
Changes the order of projects or sections, and can move a personal project under another one.
Try: “Put the Launch section first in the Website refresh project.”
Write ·
reorder-objectsExports a project as a template file or share link
Turns a project into a Todoist template, as CSV text or a shareable link. The project itself is not changed.
Try: “Export my Onboarding project as a template I can share.”
Network ·
export-project-templateAdds a template's tasks and sections into a project
Imports a template's tasks, sections and comments into an existing project. This cannot be undone.
Try: “Import the onboarding template into my new hire project.”
Write ·
import-project-templateRuns a fresh health check on a project
Starts a new health analysis for a project when the stored one is out of date.
Try: “Re-check the health of the Website refresh project.”
Write ·
analyze-project-healthDeletes a task, project, section, comment, label, filter or reminder
Permanently removes any kind of Todoist item by its ID. A workspace project must be archived before it can be deleted.
Try: “Delete the 'Old ideas' project.”
Delete ·
delete-objectUsed by the assistant behind the scenes
Checks your account details, timezone, goals and plan
Gets your name, timezone, week start, goal progress and Todoist plan so the assistant can handle dates and know who you are.
Try: “Which Todoist account am I connected to?”
Network ·
user-infoSearches tasks and projects for ChatGPT's search feature
A search tool in the format ChatGPT expects; it returns matching tasks and projects with links.
Try: “Search Todoist for anything about the conference.”
Network ·
searchOpens a task or project for ChatGPT's search feature
A fetch tool in the format ChatGPT expects; it returns the full contents of a task or project found by search.
Try: “Open the conference planning project.”
Network ·
fetch
Read from the source code
Permissions
high risk · 3 things to watch · 1 advisory
High risk
With your API token the assistant can read, change and delete tasks, projects, sections, labels, comments and reminders across your whole account. Keep approval prompts on for changes, and keep the token out of files you share.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can delete tasks and projects, not just read them
One tool deletes any kind of item. Keep your assistant's approval prompts on for changes. github.com
Your API token is stored in a config file
Anyone who can read the file can use your Todoist account. Do not commit it, and regenerate the token if it leaks. raw.githubusercontent.com
The local web mode runs every call as you
If you run the optional HTTP mode, it binds to your own machine by default. Do not open it to other hosts without network controls. raw.githubusercontent.com
Security advisories
Technical details
| Talks to | api.todoist.com |
|---|---|
| Sign-in and keys | TODOIST_API_KEY sits in the env block of your client config file, in plain text. |
| Scopes |
|
Questions
Is this the official Todoist MCP server?
Yes. It comes from the doist/todoist-mcp repository, published by Doist, the company behind Todoist.
How is this different from the hosted Todoist MCP server?
It is the same project and the same tools. The hosted one at ai.todoist.net signs you in with your Todoist account in the browser. This page covers running it on your own computer with an API token.
What credentials does it need?
A Todoist API token, set as TODOIST_API_KEY. It acts as the account the token belongs to, so it sees everything in that account.
Can I make it read-only?
No. The README documents no read-only mode, and the tools include ones that change and delete data.
Which Node.js version do I need?
The README does not state one. You need Node.js so that npx can run the package.
Can I run it as a web service on my own machine?
Yes. The setup guide describes an HTTP mode started with todoist-mcp-http. It listens on 127.0.0.1 by default and runs every call with your API token.
Information
updated Nov 2, 2026
- Publisher
- Doist (official)
- Package
@doist/todoist-mcp- Registry
- npm
- Transport
- stdio, Streamable HTTP
- Auth
- token in env
- Version
- 13.8.0
- License
- MIT
- Last commit
- Oct 31, 2026
- Open issues
- 5
Other Todoist MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 3Hide
- raw.githubusercontent.com · raw.githubusercontent.com
- raw.githubusercontent.com · raw.githubusercontent.com
- github.com · github.com