
Todoist Mcp
io.github.ecfaria由 GitHub 账号 ecfaria 发布v1.0.1更新于 Oct 24, 2026
MCP server for Todoist task management integration
发布方自己的服务:Todoist
概览
让助手通过 Todoist API 创建、列出、更新、完成和搜索 Todoist 任务,并浏览项目。
- 可以做什么
- 把 Todoist 任务管理封装为 MCP 工具:创建任务(可指定项目、分区、截止日期、优先级、标签或父任务)、按项目、分区、标签或筛选条件列出活动任务、获取任务详情、更新内容、描述、截止日期、优先级或标签、完成任务、列出项目,以及按文本搜索任务。支持“下周一”这类自然语言截止日期,并做速率限制以符合 Todoist API 限制。
- 适用场景
- 适合希望用对话方式管理 Todoist 账号的场景:记录任务、查看今天到期或已逾期的事项、更新或完成任务、搜索已有任务,而无需切换到 Todoist 应用。
- 运行要求
- 以 npm 包(@ecfaria/todoist-mcp-server)通过 stdio 在本地运行,需要 Node.js 18 或更高版本以及 npm 或 yarn。需要 Todoist 账号和个人 API 令牌,令牌通过 TODOIST_API_TOKEN 环境变量提供(清单中记为 YOUR_API_KEY)。需要访问 Todoist API 的网络连接。仅支持桌面客户端配置。
安装
在 SourceWeft 中
- 打开 控制台中的 Todoist Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Todoist MCP Server
A Model Context Protocol (MCP) server for Todoist task management, enabling Claude to interact with your Todoist tasks and projects.
Features
- ✅ Create, read, update, and complete tasks
- 📋 List tasks with advanced filtering
- 🔍 Search tasks by text content
- 📁 Manage projects
- 🏷️ Support for labels and priorities
- 📅 Natural language date parsing
- ⚡ Rate limiting to stay within API limits
- 🛡️ Comprehensive error handling
Installation
Prerequisites
- Node.js >= 18.0.0
- npm or yarn
- A Todoist account with an API token
From Source
Configuration
1. Get Your Todoist API Token
- Go to Todoist Integrations Settings
- Scroll down to "API token" section
- Copy your personal API token
2. Set Up Environment Variables
Create a .env file in the project root:
Edit .env and add your Todoist API token:
3. Configure Claude Desktop
Add the server to your Claude Desktop configuration file:
Location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Configuration:
Important: Replace /absolute/path/to/todoist-mcp with the actual absolute path to your project directory.
4. Restart Claude Desktop
After updating the configuration, restart Claude Desktop for the changes to take effect.
Available Tools
todoist_create_task
Create a new task in Todoist with optional project, due date, priority, labels, and parent task for subtasks.
Parameters:
content(required): The task content/titledescription(optional): Task descriptionproject_id(optional): Project ID to add the task tosection_id(optional): Section ID within the projectdue_date(optional): Due date in natural language or YYYY-MM-DD formatpriority(optional): Priority level: 1 (normal), 2 (medium), 3 (high), 4 (urgent)labels(optional): Array of label namesparent_id(optional): Parent task ID to create a subtaskparent_task_name(optional): Parent task name to search for (alternative to parent_id)
Examples:
todoist_list_tasks
List active tasks with optional filters for project, section, label, or custom Todoist filter.
Parameters:
project_id(optional): Filter by project IDsection_id(optional): Filter by section IDlabel(optional): Filter by label namefilter(optional): Todoist filter query (e.g., "today", "overdue", "p1")limit(optional): Maximum number of tasks to return (default: 50, max: 200)
Examples:
todoist_get_task
Get detailed information about a specific task including all metadata.
Parameters:
task_id(required): The task ID to retrieve
Examples:
todoist_update_task
Update an existing task with new content, description, due date, priority, or labels.
Parameters:
task_id(required): The task ID to updatecontent(optional): New task contentdescription(optional): New task descriptiondue_date(optional): New due date (natural language or YYYY-MM-DD)priority(optional): New priority level (1-4)labels(optional): New labels array
Examples:
todoist_complete_task
Mark a task as completed.
Parameters:
task_id(required): The task ID to complete
Examples:
todoist_list_projects
List all projects in Todoist, including inbox and shared projects.
Parameters: None
Examples:
todoist_search_tasks
Search for tasks by text in their content or description.
Parameters:
query(required): Text to search for in task content and descriptionlimit(optional): Maximum number of tasks to return (default: 50, max: 200)
Examples:
Development
Build
Development Mode (Watch)
Run Tests
Run Tests in Watch Mode
Rate Limits
The server respects Todoist's API rate limit of 450 requests per 15 minutes. When the limit is exceeded, the API returns a 429 error which is caught and reported with a helpful error message. You can retry your request after waiting.
Error Handling
All errors are returned with descriptive messages. Common errors include:
- Invalid API token: Check your
.envconfiguration or Claude Desktop config - Task not found: Verify the task ID exists and hasn't been deleted
- Rate limit exceeded: Wait 15 minutes or reduce request frequency
- Network error: Check your internet connection
- Validation error: Review the parameters you're providing to the tool
Natural Language Date Support
The server supports Todoist's natural language date parsing. You can use phrases like:
- "tomorrow"
- "next Monday"
- "every Friday"
- "in 3 days"
- "next week"
- "Dec 25"
You can also use standard date formats:
- "2024-12-31"
- "2024-12-31T14:30:00"
Project Structure
Publishing & Registry
- MCP name:
io.github.ecfaria/todoist-mcp - NPM package:
@ecfaria/todoist-mcp-server - server.json: see the root of this repo for the registry definition
Publishing flow
- Update version numbers as needed (
npm version <patch|minor|major>). - Build the distributable:
npm run build. - Publish to npm:
npm publish --access public(scoped packages default to private). - Validate registry metadata:
mcp-publisher validate. - Publish to the MCP registry:
mcp-publisher publish.
Release notes (v1.0.0)
- Added MCP registry metadata (
mcpName) topackage.json. - Documented the publishing process and registry identity.
- Introduced the canonical
server.jsonreference for registry publication. - Adopted the scoped npm package name
@ecfaria/todoist-mcp-serverto avoid collisions.
Troubleshooting
Server not showing in Claude
- Verify the path in
claude_desktop_config.jsonis absolute and correct - Check that you've built the project (
npm run build) - Ensure the API token is set in the config
- Restart Claude Desktop completely
API Token Invalid
- Go to Todoist Integrations Settings
- Generate a new API token
- Update your
.envfile or Claude Desktop config - Restart the server/Claude Desktop
Tasks Not Showing Up
- Verify you're using the correct project ID or filter
- Check that tasks aren't already completed
- Try listing all tasks without filters to see what's available
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
Support
Acknowledgments
Built with:
来源:README.md,提交 3bb7e6f
工具
0版本历史
1- v1.0.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
