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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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