使用说明
Todoist MCP服务器
用于Todoist任务管理的本地MCP服务器,专为与Claude一起使用而设计。
包装Todoist REST v2和Sync API v1,以提供全面的任务管理 通过模型上下文协议实现功能。
特性
- 任务CRUD --创建、读取、更新、完成、删除和移动任务
- 批量操作 -通过同步API在单个API调用中更新多个任务
- 项目管理 --列出项目,按名称解析(不区分大小写)
- 标签 --为任务创建、重命名、删除和应用标签
- 评论 --阅读任务并添加注释(支持Markdown)
- 已完成的任务 --在日期范围内完成的查询任务(每周审查指标)
- 优雅降级 -如果缺少API令牌,则服务器在没有Todoist工具的情况下启动
设置
1.获取Todoist API代币
首选 Todoist开发人员设置 并复制您的API令牌。
2.安装
git clone https://github.com/stevesimpson418/todoist-mcp-server.git
cd todoist-mcp-server
# Install dependencies (creates .venv/ in the project directory)
uv sync
紫外线新手?
uv sync读取pyproject.toml,创建了一个.venv/virtualenv内部 项目文件夹,并将所有依赖项安装到其中。您不需要激活它--uv run <command>自动处理。
3.配置环境
cp .env.example .env
# Edit .env and add your TODOIST_API_TOKEN
4.联系克劳德
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):
提示: 跑
uv run which python从项目目录中获取command.
{
"mcpServers": {
"todoist": {
"command": "/absolute/path/to/todoist-mcp-server/.venv/bin/python",
"args": ["-m", "todoist_mcp_server.server"],
"env": {
"TODOIST_API_TOKEN": "your_token_here"
}
}
}
}
添加到Claude代码CLI
使用 claude mcp add 注册服务器的命令。这适用于任何目录。
claude mcp add --scope user todoist-mcp-server \
--transport stdio \
--env TODOIST_API_TOKEN=your_token_here \
-- /path/to/todoist-mcp-server/.venv/bin/python -m todoist_mcp_server.server
替换 /path/to/todoist-mcp-server 使用克隆仓库的实际路径。
提示: 跑
uv run which python从项目目录中获取确切信息.venv/bin/python命令的路径。
这 --scope user 标志保存到 ~/.claude.json 因此,服务器在所有项目中都是可用的。
没有它,命令默认为本地作用域(绑定到您运行它的任何目录)。
要将其范围改为单个项目,请使用 --scope project 它写入 .mcp.json 在
项目根。
要验证服务器是否已注册:
claude mcp list
添加后重新启动Claude Code。Todoist工具应出现在 /mcp 菜单。
注: Claude Code CLI使用与Claude Desktop不同的配置。这
claude mcp add命令是注册MCP服务器的推荐方式——不要将它们添加到~/.claude/settings.json因为该文件仅用于权限和挂钩。
更新
要获取最新版本并更新依赖关系,请执行以下操作:
cd /path/to/todoist-mcp-server
git pull
uv sync
更新后重新启动Claude Desktop或Claude Code CLI。
可用工具
| 工具 | 说明 |
|---|---|
list_todoist_projects |
列出所有项目 |
get_project_tasks |
从项目中获取任务 |
list_todoist_labels |
列出所有标签 |
get_completed_tasks |
按日期范围查询已完成的任务 |
get_task_comments |
获取任务的评论 |
create_task |
创建新任务 |
update_task |
更新任务字段 |
move_task |
将任务移动到另一个项目 |
complete_task |
将任务标记为已完成 |
delete_task |
永久删除任务 |
batch_update_tasks |
批量更新多个任务 |
add_task_comment |
向任务添加注释 |
create_todoist_label |
创建新标签 |
rename_todoist_label |
重命名标签 |
delete_todoist_label |
删除标签 |
用法示例
每周回顾——看看你完成了什么:
1. get_completed_tasks(since="2026-03-28", until="2026-04-04") → completed this week
2. list_todoist_projects() → see all projects
3. get_project_tasks(project_name="Inbox") → triage leftover inbox tasks
跨项目重新组织任务:
1. get_project_tasks(project_name="Inbox") → find tasks to sort
2. move_task(task_id="123456", project_name="Home Renovation") → move to the right project
3. batch_update_tasks(tasks=[
{"id": "234567", "labels": ["waiting-on"]},
{"id": "345678", "priority": 3}
]) → bulk tidy-up
快速捕捉上下文:
1. create_task(
content="Review pull request #42",
project_name="Work",
due_string="tomorrow 10am",
priority=3
)
2. add_task_comment(task_id="456789", content="See https://github.com/org/repo/pull/42")
发展
# Install dev dependencies
uv sync --dev
# Run tests
uv run pytest -v
# Run tests with coverage
uv run pytest --cov=todoist_mcp_server --cov-report=term-missing
# Lint
uv run ruff check src/ tests/
# Format
uv run ruff format src/ tests/
# Install git hooks
lefthook install
本地 .env 文件
在Claude Desktop/Code之外手动运行服务器时(例如,用于开发或
调试),您可以创建 .env 项目根目录中的文件,以便服务器拾取
API令牌,而不传递环境变量:
TODOIST_API_TOKEN=your_token_here
这只是当地发展所需要的。Claude桌面和Claude代码CLI配置
通过直接传递此值 env 块。
发布
此项目使用 请释放 用于自动化 版本控制和发布。版本由以下因素决定 约定式提交:
fix:提交bump 补丁 版本(例如0.1.0→ 0.1.1)feat:提交bump 次要的 版本(例如0.1.1→ 0.2.0)BREAKING CHANGE在提交页脚中颠簸 主要的 版本
当承诺土地 main,请打开(或更新)一个发布PR,该PR:
- 将版本插入
pyproject.toml - 更新
CHANGELOG.md带有分组条目
合并Release PR会自动创建一个git标签和GitHub Release。
包装与配送
此服务器目前通过git作为源代码分发。要安装:
git clone https://github.com/stevesimpson418/todoist-mcp-server.git
cd todoist-mcp-server
uv sync
这是目前本地stdio MCP服务器的标准分发模型。该项目是 已经配置为通过掀背车进行车轮制造,因此未来的分销选项包括:
- PyPI --发布到PyPI,然后安装
uv tool install todoist-mcp-server或pip install todoist-mcp-server。需要向CI添加发布工作流。 - uvx --一旦在PyPI上,
uvx todoist-mcp-server在不克隆仓库的情况下运行服务器。 Claude Desktop/Code配置将指向uvx管理的二进制文件,而不是本地文件.venv.
许可证
麻省理工学院