Todoist MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TODOIST_API_TOKEN | Yes | Your Todoist API token from Settings → Integrations → Developer section |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| todoist_task_createC | Create a new task in Todoist with optional description, due date, priority, labels, deadline, project, section, and duration for time blocking |
| todoist_task_getB | Retrieve tasks from Todoist. Use 'filter' for Todoist filter syntax (e.g., 'today', 'p1') or 'task_name' for simple text search in task content |
| todoist_task_updateB | Update an existing task found by ID or partial name search. Supports updating content, description, due date, priority, labels, deadline, project, section, and duration |
| todoist_task_deleteB | Delete a task found by ID or partial name search (case-insensitive) |
| todoist_task_completeB | Mark a task as complete found by ID or partial name search (case-insensitive) |
| todoist_task_reopenA | Reopen a previously completed task found by ID or partial name search (case-insensitive). Use this to restore a task that was marked as complete. |
| todoist_tasks_bulk_createB | Create multiple tasks at once for improved efficiency. Each task can have full attributes including duration for time blocking. |
| todoist_tasks_bulk_updateB | Update multiple tasks at once based on search criteria. Supports updating content, priority, due dates, labels, project, section, and duration. |
| todoist_tasks_bulk_deleteA | Delete multiple tasks at once based on search criteria. Use with caution - this will permanently delete matching tasks. |
| todoist_tasks_bulk_completeA | Complete multiple tasks at once based on search criteria. Efficiently mark many tasks as done. |
| todoist_completed_tasks_getA | Retrieve completed tasks from Todoist. Uses the Sync API to fetch tasks that have been marked as complete. Supports filtering by project, date range, and pagination. |
| todoist_task_quick_addA | Create a task using natural language parsing like the Todoist app. The text is parsed to extract due dates, projects (#), labels (@), assignees (+), priorities (p1-p4), deadlines ({in 3 days}), and descriptions (//). Example: "Buy groceries tomorrow #Shopping @errands p1 {deadline Friday} //Don't forget milk" |
| todoist_project_getA | Get a list of all projects from Todoist with their IDs, names, descriptions, and hierarchy information |
| todoist_section_getC | Get a list of sections within a project from Todoist with their IDs and names |
| todoist_project_createB | Create a new project in Todoist with optional sub-project hierarchy, description, and view style |
| todoist_project_updateB | Update an existing project in Todoist. Can modify name, color, favorite status, description, or view style. |
| todoist_project_deleteA | Delete a project from Todoist. This will also delete all tasks and sub-projects within the project. |
| todoist_project_archiveA | Archive or unarchive a project in Todoist. Archived projects are hidden from the main view but can be restored. |
| todoist_project_collaborators_getB | Get a list of collaborators for a shared project in Todoist. Returns collaborator names and emails. |
| todoist_section_createB | Create a new section within a project in Todoist |
| todoist_section_updateB | Update an existing section in Todoist. Can update name by section ID or section name search. |
| todoist_section_deleteA | Delete a section and all its tasks from Todoist. Can delete by section ID or section name search. |
| todoist_collaborators_getA | Get a list of collaborators for a shared project. Returns user IDs, names, and emails that can be used for task assignment with assignee_id. |
| todoist_comment_createA | Add a comment to a task or project in Todoist. For task comments, provide task_id or task_name. For project comments, provide project_id. |
| todoist_comment_getB | Get comments for a task or project in Todoist |
| todoist_comment_updateB | Update an existing comment's content by comment ID |
| todoist_comment_deleteB | Delete a comment by its ID |
| todoist_label_getA | Get all labels in Todoist |
| todoist_label_createB | Create a new label in Todoist |
| todoist_label_updateB | Update an existing label in Todoist |
| todoist_label_deleteB | Delete a label from Todoist |
| todoist_label_statsA | Get usage statistics for all labels in Todoist |
| todoist_filter_getB | Get all custom filters in Todoist. Filters are saved searches that help you organize and view tasks based on specific criteria. Note: Requires Todoist Pro or Business plan. |
| todoist_filter_createA | Create a new custom filter in Todoist. Filters use Todoist's query syntax (e.g., 'p1', 'today', '@label', '#project'). Note: Requires Todoist Pro or Business plan. |
| todoist_filter_updateA | Update an existing filter in Todoist. Can update name, query, color, order, or favorite status. Note: Frozen filters (from cancelled subscriptions) cannot be modified. |
| todoist_filter_deleteA | Delete a filter from Todoist. This action cannot be undone. Note: Frozen filters (from cancelled subscriptions) cannot be deleted. |
| todoist_subtask_createB | Create a new subtask under a parent task in Todoist |
| todoist_subtasks_bulk_createA | Create multiple subtasks under a parent task in a single operation |
| todoist_task_convert_to_subtaskB | Convert an existing task to a subtask of another task |
| todoist_subtask_promoteB | Promote a subtask to a main task (remove parent relationship) |
| todoist_task_hierarchy_getB | Get a task with all its subtasks in a hierarchical structure |
| todoist_reminder_getA | Get all reminders, optionally filtered by task. Reminders require Todoist Pro or Business plan. |
| todoist_reminder_createA | Create a new reminder for a task. Supports three reminder types: relative (minutes before due), absolute (specific date/time), and location-based. Requires Todoist Pro or Business plan. |
| todoist_reminder_updateA | Update an existing reminder. Can change the type, timing, or location settings. Requires Todoist Pro or Business plan. |
| todoist_reminder_deleteA | Delete a reminder. Requires Todoist Pro or Business plan. |
| todoist_duplicates_findA | Find duplicate or similar tasks using content similarity analysis. Returns grouped tasks that have similar titles, sorted by similarity percentage. |
| todoist_duplicates_mergeA | Merge duplicate tasks by keeping one task and completing or deleting the others. Use after todoist_duplicates_find to clean up duplicates. |
| todoist_activity_getC | Get Todoist activity log with optional filters. Returns events for items, notes, projects, sections, labels, filters, and reminders. Useful for auditing changes, tracking productivity, and understanding workspace history. |
| todoist_activity_by_projectA | Get Todoist activity log for a specific project. Returns all events (tasks added/completed/deleted, comments, etc.) related to the project. Useful for project auditing and tracking project-specific changes. |
| todoist_activity_by_date_rangeB | Get Todoist activity log within a specific date range. Returns all events that occurred between the specified dates. Useful for generating activity reports and reviewing changes over time periods. |
| todoist_task_moveB | Move a task to a different project, section, or under a parent task. Uses Todoist Sync API for reliable movement operations. |
| todoist_task_reorderA | Set the order of a task within its project/section. Lower numbers appear first. |
| todoist_tasks_reorder_bulkA | Reorder multiple tasks at once by specifying their new positions. Efficient for reorganizing task lists. |
| todoist_task_closeB | Close a task. For recurring tasks, this completes the current occurrence and schedules the next one. For non-recurring tasks, this is equivalent to completing the task. |
| todoist_task_day_order_updateB | Update the day order of tasks in the Today view. Controls the order tasks appear when viewing today's tasks. |
| todoist_section_moveB | Move a section to a different project. All tasks in the section will move with it. |
| todoist_sections_reorderA | Reorder sections within a project by specifying their new positions. |
| todoist_section_archiveA | Archive a section. Archived sections are hidden but not deleted. Tasks in the section are also archived. |
| todoist_section_unarchiveA | Unarchive a previously archived section. Restores the section and its tasks to active status. |
| todoist_projects_reorderA | Reorder projects by specifying their new positions. Controls project ordering in the sidebar. |
| todoist_project_move_to_parentA | Move a project under another project (making it a sub-project) or to root level. Useful for organizing project hierarchies. |
| todoist_archived_projects_getB | Get a list of all archived projects. Useful for reviewing or restoring archived projects. |
| todoist_user_getB | Get information about the current Todoist user including name, email, timezone, karma, and account settings. |
| todoist_productivity_stats_getA | Get detailed productivity statistics including karma, task completion history, daily/weekly streaks, and goals progress. |
| todoist_user_settings_getA | Get user settings including reminder preferences, notification settings, sounds, and theme configuration. |
| todoist_shared_labels_getA | Get all shared labels in the workspace. Shared labels are available in Todoist Business accounts for team collaboration. |
| todoist_shared_label_renameA | Rename a shared label across all items in the workspace. Updates the label name for all team members. Requires Todoist Business account. |
| todoist_shared_label_removeA | Remove a shared label from all items in the workspace. This removes the label from all tasks but does not delete the tasks. Requires Todoist Business account. |
| todoist_backups_getA | List all available automatic backups of your Todoist data. Todoist creates backups automatically. Returns version timestamps and download URLs. |
| todoist_backup_downloadA | Get the download URL for a specific backup version. The URL is time-limited. Backups are ZIP files containing CSV exports of your Todoist data. |
| todoist_project_notes_getA | Get all notes for a specific project. Project notes are shared with all project collaborators. |
| todoist_project_note_createA | Create a new note for a project. Project notes are visible to all project collaborators. |
| todoist_project_note_updateC | Update an existing project note's content. |
| todoist_project_note_deleteA | Delete a project note by ID. |
| todoist_workspaces_getA | Get all workspaces for the current user. Workspaces are available with Todoist Business accounts for team organization. |
| todoist_invitations_getA | Get all pending project sharing invitations received by the current user. |
| todoist_project_inviteB | Invite a user to collaborate on a project by email. The invitee will receive an email notification. |
| todoist_invitation_acceptA | Accept a project sharing invitation. Requires both the invitation ID and secret from the invitation email. |
| todoist_invitation_rejectB | Reject a project sharing invitation. Requires both the invitation ID and secret. |
| todoist_invitation_deleteA | Delete/revoke a pending invitation that you sent. Use this to cancel an invitation before it is accepted. |
| todoist_notifications_getB | Get live notifications including comments, assignments, sharing invitations, and other collaboration events. |
| todoist_notification_mark_readB | Mark a specific notification as read. |
| todoist_notifications_mark_all_readA | Mark all notifications as read. |
| todoist_test_connectionA | Test the connection to Todoist API and verify API token validity |
| todoist_test_all_featuresC | Run comprehensive tests on all Todoist MCP features to verify functionality |
| todoist_test_performanceC | Measure performance and response times of Todoist API operations |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/greirson/mcp-todoist'
If you have feedback or need assistance with the MCP directory API, please join our Discord server