使用说明
Todoist MCP服务器
[!重要] 此项目已存档,不再维护。
Todoist现在提供 官方MCP服务器 主办地点:
https://ai.todoist.net/mcp。它是一个具有OAuth身份验证的可流式HTTP服务器,不需要本地设置、Docker容器或API令牌管理。请迁移到官方服务器。请参阅Todoist的设置指南: 将ChatGPT与Todoist结合使用同一端点适用于Claude和其他支持OAuth远程MCP服务器的MCP客户端。
此存储库仅供历史参考。将不提供进一步的更新、安全补丁或支持。
迁移到官方Todoist MCP服务器
[!提示] 请改用官方Todoist MCP服务器。
- 端点:
https://ai.todoist.net/mcp- 运输: 流式HTTP(无需本地安装)
- 认证: 使用Todoist帐户的OAuth(没有要管理的API令牌)
- 能力: 读取/创建/更新任务和项目,重新安排,在项目之间移动
对于ChatGPT: 设置→ Apps → 启用开发人员模式→ 添加自定义应用程序→ enter
https://ai.todoist.net/mcp→ 完整的OAuth。请参阅 官方指南.对于Claude和其他MCP客户: 添加
https://ai.todoist.net/mcp作为客户端配置中的远程MCP服务器,完成OAuth流程。
下面的文档描述了这个存档的项目,并保留以供参考。
用于Todoist任务管理的专用模型上下文协议(MCP)服务器。这个基于Docker的服务器使Claude Desktop和其他MCP客户端能够与Todoist交互,以创建、更新和查询任务。
特性
- 任务管理:创建、更新、完成和删除任务
- 智能查询:按项目、标签、优先级或筛选器获取任务
- 项目和标签管理:高效地组织你的任务
- Redis缓存:可选缓存以提高性能
- Docker支持:使用Docker和Docker Compose轻松部署
先决条件
- 码头工人 和 Docker Compose (用于集装箱化部署)
- Todoist帐户: 注册Todoist
- Todoist API代币:从以下位置获取令牌 Todoist集成设置
- 克劳德桌面版 (可选):用于MCP客户端集成
快速开始
1.克隆和配置
cd todoist-mcp
cp .env.example .env.local
编辑 .env.local 并添加您的Todoist API令牌:
TODOIST_API_TOKEN=your-todoist-api-token-here
DEBUG=false
# Optional Redis caching
REDIS_HOST=
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_USE_SSL=false
2.使用Docker Compose运行
docker-compose up --build
服务器将以stdio模式启动,准备接受MCP连接。
3.连接到克劳德桌面
将此配置添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"todoist": {
"command": "docker",
"args": ["compose", "-f", "/path/to/todoist-mcp/docker-compose.yml", "run", "--rm", "todoist-mcp"]
}
}
}
重新启动Claude Desktop以激活服务器。
配置
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
TODOIST_API_TOKEN |
是 | - | 您的Todoist API代币 |
DEBUG |
没有 | false |
启用调试日志记录 |
REDIS_HOST |
无 | - | Redis服务器主机名(用于缓存) |
REDIS_PORT |
没有 | 6379 |
Redis服务器端口 |
REDIS_PASSWORD |
无 | - | Redis密码 |
REDIS_USE_SSL |
没有 | false |
使用SSL进行Redis连接 |
可用的MCP工具
Todoist MCP服务器提供以下工具:
任务操作
create_task-创建新任务update_task-更新现有任务complete_task-将任务标记为已完成delete_task-删除任务uncomplete_task-重新打开已完成的任务
任务查询
get_tasks_today-获取今天到期的所有任务get_overdue_tasks-获取所有逾期任务get_tasks_by_project-从特定项目中获取任务get_tasks_by_label-获取具有特定标签的任务get_tasks_by_priority-按优先级获取任务get_tasks_by_filter-使用Todoist筛选器语法查询任务
项目管理
get_projects-列出所有项目create_project-创建新项目update_project-更新项目delete_project-删除项目
标签管理
get_labels-列出所有标签create_label-创建新标签update_label-更新标签delete_label-删除标签
服务器管理
get_server_status-检查服务器运行状况get_server_config-查看服务器配置get_cache_stats-查看缓存性能指标clear_cache-清除缓存数据get_cache_info-查看Redis服务器信息
本地开发
没有Docker
- 创建虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 安装依赖项:
pip install -r requirements.txt
- 设置环境变量:
export TODOIST_API_TOKEN=your-api-token
- 运行服务器:
python server.py
使用Docker
构建并运行:
docker build -t todoist-mcp .
docker run -e TODOIST_API_TOKEN=your-token todoist-mcp
测试
测试服务器状态
您可以通过Claude Desktop连接并询问以下问题来测试服务器:
“我的Todoist服务器的状态如何?”
测试任务操作
“在我的收件箱中创建一个名为“测试任务”的任务” “显示今天到期的所有任务” “将任务ID 12345标记为已完成”
故障排除
“Todoist API令牌未配置”
解决方案:确保 TODOIST_API_TOKEN 设置在您的 .env.local 文件或环境变量。
连接问题
解决方案:
- 验证您的API令牌是否正确
- 检查您的互联网连接
- 确保Docker容器具有网络访问权限
缓存不工作
解决方案:
- 验证Redis连接设置
- 确保Redis服务器正在运行
- 检查Redis凭据和SSL设置
建筑
Todoist MCP服务器遵循以下架构:
Claude Desktop
↓ (stdio)
Docker Container
↓
MCP Server (FastMCP)
↓
Todoist Service
↓
Todoist API
可选的Redis缓存层通过减少API调用来提高性能。
安全说明
- 永远不要承诺你的
.env.local文件或API令牌到版本控制 - 使用环境特定
.env文件 - 考虑在生产部署中使用Docker secrets
- API令牌从不通过MCP工具响应暴露
许可证
本项目按原样提供供个人使用。
支持
有关Todoist API文档,请访问:https://developer.todoist.com/
