Todoist MCP Server

Todoist MCP Server

Enables AI assistants to manage Todoist tasks, projects, and labels through natural language. It provides a comprehensive suite of tools for task organization, productivity tracking, and structured workflows like daily planning.

Category
访问服务器

README

Todoist MCP Server

An MCP (Model Context Protocol) server that provides comprehensive task management through Todoist. This enables AI assistants like Claude to create, manage, and organize tasks using natural language.

Features

Tools (21 total)

Tool Description
list_tasks List tasks with filtering (by project, priority, due date, etc.)
get_task Get detailed task info including comments and subtasks
create_task Create tasks with natural language due dates
update_task Update task content, due date, priority, labels
complete_task Mark tasks complete (handles recurring)
uncomplete_task Reopen completed tasks
delete_task Permanently delete tasks
move_task Move tasks between projects/sections
list_projects List all projects
create_project Create new projects
update_project Update project name, color, view style
delete_project Permanently delete projects
list_sections List sections within projects
create_section Create sections
update_section Rename or collapse/expand sections
move_section Move sections between projects
delete_section Permanently delete sections
list_labels List all labels
create_label Create new labels
update_label Update label name, color, order
delete_label Permanently delete labels
add_comment Add comments to tasks
get_productivity_stats Get completion statistics
quick_add Natural language task entry

Resources

Resource Description
todoist://today Today's tasks including overdue
todoist://upcoming Tasks due in the next 7 days
todoist://overdue All overdue tasks
todoist://projects Project overview with task counts
todoist://labels Labels and usage counts

Prompts

Prompt Description
daily_planning Morning planning workflow
weekly_review GTD-style weekly review
quick_capture Rapid multi-task capture
task_breakdown Break large tasks into subtasks

Setup

1. Get Your Todoist API Token

  1. Go to https://todoist.com/app/settings/integrations/developer
  2. Scroll to "API token"
  3. Copy your token

2. Install Dependencies

cd todoist-mcp
npm install

3. Build

npm run build

4. Add to Claude Code

claude mcp add --transport stdio todoist \
  --env TODOIST_API_TOKEN=your_token_here \
  -- node /path/to/todoist-mcp/dist/index.js

Or add manually to your Claude Code configuration:

{
  "mcpServers": {
    "todoist": {
      "command": "node",
      "args": ["/path/to/todoist-mcp/dist/index.js"],
      "env": {
        "TODOIST_API_TOKEN": "your_token_here"
      }
    }
  }
}

5. Verify Connection

In Claude Code, type /mcp to check the server is connected.

Usage Examples

Create a Task

"Add a task to review the budget report by Friday"

The AI will use create_task with natural language due date parsing.

View Today's Tasks

"What do I need to do today?"

Uses the todoist://today resource or list_tasks with dueToday: true.

Daily Planning

"Let's do my daily planning"

Invokes the daily_planning prompt for a guided planning session.

Quick Capture

"Add these tasks: call dentist tomorrow, review PR by EOD, update docs"

Uses quick_add or create_task for natural language entry.

Initialize GTD Structure (One-Time Setup)

Run the setup script to create a GTD-inspired structure:

TODOIST_API_TOKEN=your_token npx tsx scripts/setup-gtd-structure.ts

This creates:

  • Projects: Work, Personal (with sub-projects), Recurring, Someday/Maybe, Reference
  • Labels: Context (@computer, @phone), Energy (@high-energy), Time (@5min, @deep-work), Status (@waiting-for)

Natural Language Due Dates

Todoist supports flexible date parsing:

Input Result
today Today
tomorrow Tomorrow
tomorrow at 2pm Tomorrow at 2:00 PM
next monday Next Monday
in 3 days 3 days from now
jan 15 January 15
every day Daily recurring
every monday at 9am Weekly on Monday at 9 AM
every weekday Monday through Friday

Priority Mapping

API Value Display Color
4 P1 (highest) Red
3 P2 Orange
2 P3 Yellow
1 P4 (default) None

Rate Limiting

The server implements rate limiting to stay within Todoist's API limits:

  • Limit: 450 requests per 15 minutes
  • Caching: Projects and labels are cached for 5 minutes

Development

Run in Development Mode

npm run dev

This runs TypeScript in watch mode.

Test with MCP Inspector

npm run inspect

Opens the MCP Inspector for testing tools and resources.

Project Structure

todoist-mcp/
├── src/
│   ├── index.ts           # Entry point
│   ├── types/             # TypeScript type definitions
│   ├── services/          # Todoist client, caching, rate limiting
│   ├── tools/             # MCP tool implementations
│   ├── resources/         # MCP resource implementations
│   └── prompts/           # MCP prompt implementations
├── dist/                  # Compiled output
├── package.json
└── tsconfig.json

Troubleshooting

"TODOIST_API_TOKEN environment variable is required"

Make sure you've set the token in your MCP configuration:

claude mcp add --env TODOIST_API_TOKEN=your_token ...

Rate Limit Errors

The server automatically handles rate limiting, but if you hit limits:

  • Wait 15 minutes for the window to reset
  • Check get_productivity_stats to see current rate limit usage

Tasks Not Appearing

  • Verify your API token is correct
  • Check that tasks aren't filtered out (completed, different project, etc.)
  • Use list_tasks without filters to see all tasks

Quick Add Project Assignment

The quick_add tool uses Todoist's natural language parser, which may not always parse project names with spaces correctly. For example, "Task #My Project" might not assign to the "My Project" project.

Workaround: Use create_task with explicit projectId for reliable project assignment, or use project names without spaces.

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选