productivity

Todoist

by greirson

Enhance productivity with Todoist integration for task, project, and comment management using advanced API support and b

Integrates with Todoist API to manage tasks, projects, sections, and comments with support for bulk operations, natural language search, and comprehensive CRUD functionality.

github stars

150

Official Todoist integrationNatural language task creationRepository is deprecated - use Doist/todoist-ai instead

best for

  • / Personal productivity and task tracking
  • / Project management workflows
  • / AI-assisted todo list organization

capabilities

  • / Create tasks with due dates and priorities
  • / Update and move existing tasks
  • / Manage projects and sections
  • / Add and retrieve task comments
  • / Create and assign labels
  • / Get productivity statistics

what it does

Connects to your Todoist account to manage tasks, projects, and labels directly through AI conversations. Lets you create, update, and organize your todo items using natural language.

about

Todoist is a community-built MCP server published by greirson that provides AI assistants with tools and capabilities via the Model Context Protocol. Enhance productivity with Todoist integration for task, project, and comment management using advanced API support and b It is categorized under productivity.

how to install

You can install Todoist in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

Todoist is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

Todoist MCP Server

An MCP (Model Context Protocol) server that connects Claude with Todoist for complete task and project management through natural language.

Installation

Claude Desktop (One-Click Install)

  1. Download todoist-mcp.mcpb from the latest release
  2. Double-click the file (or drag onto Claude Desktop)
  3. Enter your Todoist API token when prompted
  4. Start chatting: "Show me my Todoist projects"

Claude Code / Other MCP Clients

claude mcp add todoist -e TODOIST_API_TOKEN=your_token -- npx @greirson/mcp-todoist
<details> <summary>Manual JSON configuration</summary>

Add to your MCP client config (claude_desktop_config.json, ~/.claude.json, etc.):

{
  "mcpServers": {
    "todoist": {
      "command": "npx",
      "args": ["@greirson/mcp-todoist"],
      "env": {
        "TODOIST_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Config locations:

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Claude Desktop (Windows): %APPDATA%\Claude\claude_desktop_config.json
  • Claude Code: ~/.claude.json
</details>

Features

  • 19 MCP Tools for complete Todoist management
  • Task Management: Create, update, delete, complete, reopen tasks with priorities, due dates, labels
  • Bulk Operations: Process multiple tasks efficiently
  • Subtasks: Hierarchical task management with completion tracking
  • Projects & Sections: Full organization support
  • Labels, Filters, Reminders: Pro/Business features supported
  • Natural Language: Quick add with Todoist's natural language parsing
  • Dry-Run Mode: Test operations without making changes

Dry-Run Mode

Dry-run mode allows you to test operations and automations without making any real changes to your Todoist workspace. This is perfect for testing, debugging, learning the API, or validating automation scripts before running them for real.

How to Enable Dry-Run Mode

Add DRYRUN=true to your environment configuration:

{
  "mcpServers": {
    "todoist": {
      "command": "npx",
      "args": ["@greirson/mcp-todoist"],
      "env": {
        "TODOIST_API_TOKEN": "your_api_token_here",
        "DRYRUN": "true"
      }
    }
  }
}

What Dry-Run Mode Does

  • Validates Operations: Uses real API data to validate that operations would succeed
  • Simulates Mutations: Create, update, delete, and complete operations are simulated (not executed)
  • Real Data Queries: Read operations (get tasks, projects, labels) use the real API
  • Detailed Logging: Shows exactly what would happen with clear [DRY-RUN] prefixes
  • Error Detection: Catches the same errors that would occur in real execution

Use Cases

  • Testing Automations: Validate complex bulk operations before executing
  • Learning the API: Explore functionality without fear of making unwanted changes
  • Debugging Issues: Understand what operations would be performed
  • Safe Experimentation: Try new workflows without affecting your actual tasks
  • Training and Demos: Show how operations work without modifying real data

Example Usage

With dry-run mode enabled, operations show what would happen:

You: "Create a task called 'Test Task' in my Work project"

Response:
[DRY-RUN] Dry-run mode enabled - mutations will be simulated
[DRY-RUN] Would create task: "Test Task" in project 2203306141, section none

Task created successfully (simulated):
ID: 100001
Title: Test Task
Project: Work (2203306141)
Priority: 4 (Normal)

Supported Operations

All 19 MCP tools support dry-run mode:

  • Task creation, updates, completion, and deletion
  • Subtask operations and hierarchy changes
  • Bulk operations across multiple tasks
  • Project and section creation
  • Label management operations
  • Reminder CRUD operations
  • Comment creation

Disabling Dry-Run Mode

Remove the DRYRUN environment variable or set it to false, then restart Claude Desktop to return to normal operation mode.

Tools Overview

The server provides 19 MCP tools for complete Todoist management:

ToolActionsDescription
todoist_taskcreate, get, update, delete, complete, reopen, quick_addComplete task management
todoist_task_bulkbulk_create, bulk_update, bulk_delete, bulk_completeEfficient multi-task operations
todoist_subtaskcreate, bulk_create, convert, promote, hierarchyHierarchical task management
todoist_projectcreate, get, update, delete, archive, collaboratorsProject CRUD and sharing
todoist_project_opsreorder, move_to_parent, get_archivedAdvanced project operations
todoist_sectioncreate, get, update, delete, move, reorder, archiveSection management
todoist_labelcreate, get, update, delete, statsLabel management with analytics
todoist_commentcreate, get, update, deleteTask/project comments
todoist_remindercreate, get, update, deleteReminder management (Pro)
todoist_filtercreate, get, update, deleteCustom filters (Pro)
todoist_collaborationinvitations, notifications, workspace operationsTeam collaboration features
todoist_userinfo, productivity_stats, karma_historyUser profile and stats
todoist_utilitytest_connection, test_features, test_performance, find/merge duplicatesTesting and utilities
todoist_activityget_log, get_events, get_summaryActivity audit trail
todoist_task_opsmove, reorder, closeAdvanced task operations
todoist_completedget, get_all, get_statsCompleted task retrieval
todoist_backuplist, downloadAutomatic backup access
todoist_notescreate, get, update, deleteProject notes (collaborators)
todoist_shared_labelscreate, get, rename, removeWorkspace labels (Business)

For detailed tool documentation with parameters and examples, see TOOLS_REFERENCE.md.

Troubleshooting

Common Issues

"No Todoist projects found" or connection errors:

  • Verify your API token is correct
  • Check that the token is properly set in your claude_desktop_config.json
  • Ensure there are no extra spaces or quotes around your token

MCP server not loading:

  • Confirm the package is installed globally: npm list -g @greirson/mcp-todoist
  • Restart Claude Desktop completely
  • Check the configuration file path is correct for your operating system
  • Try the full path to the mcp-todoist binary: /Users/USERNAME/.npm-global/bin/mcp-todoist

Permission errors:

  • On macOS/Linux, you may need to create the config directory: mkdir -p ~/.config
  • Ensure Claude Desktop has permission to read the config file

Usage Examples

Project & Section Setup

"Show me all my projects"
"Create a new project called 'Work Tasks'"
"Create a section called 'In Progress' in project 12345"
"Show me sections in the Work Tasks project"

Task Creation & Management

"Create task 'Team Meeting' in project 12345"
"Add task 'Review PR' due tomorrow with labels ['Code Review', 'Urgent']"
"Create high priority task with deadline 2024-12-25"
"Update meeting task to be in section 67890"
"Mark the PR review task as complete"

# Task duration for time blocking
"Create task 'Deep work session' with 90 minute duration"
"Update task 'Meeting' to have a 2 day duration"

# Task identification by ID (more reliable than name search)
"Get task with ID 1234567890"
"Update task ID 1234567890 to priority 4"
"Complete task with ID 1234567890"
"Reopen task with ID 1234567890"
"Delete task ID 1234567890"

Quick Add

The Quick Add tool parses natural language text like the Todoist app, supporting multiple features in a single command:

"Quick add: Buy groceries tomorrow #Shopping @errands p1"
"Quick add: Review PR next Monday #Work @code-review p2 //Check error handling"
"Quick add: Call mom {deadline in 3 days}"
"Quick add: Team meeting today at 2pm #Work @meetings with reminder 1 hour before"

Quick Add Syntax:

  • Due dates: Natural language dates like "tomorrow", "next Friday", "Jan 23", "in 3 days"
  • Projects: #ProjectName (no spaces in project names)
  • Labels: @label (e.g., "@urgent", "@work")
  • Assignees: +name (for shared projects)
  • Priority: p1 (urgent), p2, p3, p4 (lowest)
  • Deadlines: {in 3 days} or {March 15}
  • Descriptions: //your description here (must be at the end)

Subtask Management

"Create subtask 'Prepare agenda' under task 'Team Meeting'"
"Create multiple subtasks for 'Launch Project': 'Design UI', 'Write tests', 'Deploy'"
"Convert task 'Code Review' to a subtask of 'Release v2.0'"
"Promote subtask 'Bug Fix' to a main task"
"Show me

---