使用说明
Todoist MCP服务器
一个将Todoist任务管理与Claude集成在一起的模型上下文协议(MCP)服务器。以对话方式管理您的Todoist任务,无需切换上下文!
特性
- 获取任务:按项目、标签或自定义筛选器获取和筛选任务
- 创建任务:添加具有优先级、截止日期和标签的新任务
- 更新任务:修改现有任务、更改优先级、推迟日期
- 完成任务:将任务标记为已完成
- 列出项目:查看您的所有Todoist项目
- 列表标签:查看您的所有Todoist标签
非常适合:
- 在高压力工作期间管理任务
- 批量任务操作(推迟、优先、组织)
- 快速任务分类,无需离开与克劳德的对话
- 具有对话界面的ADHD友好任务管理
先决条件
- Python 3.10或更高版本
- Todoist帐户
- Todoist API令牌(拿过来)
安装
1.克隆存储库
git clone https://github.com/yourusername/todoist-mcp-server.git
cd todoist-mcp-server
2.创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
3.安装包装
pip install -e .
4.配置您的API令牌
创建一个 .env 项目根目录中的文件:
cp .env.example .env
编辑 .env 并添加您的Todoist API令牌:
TODOIST_API_TOKEN=your_actual_token_here
从以下位置获取您的令牌:https://todoist.com/app/settings/integrations/developer
Claude代码的配置
选项1:在Claude Desktop中配置(推荐)
将此添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"todoist": {
"command": "python",
"args": ["-m", "todoist_mcp.server"],
"env": {
"TODOIST_API_TOKEN": "your_token_here"
}
}
}
}
选项2:与Claude Code CLI一起使用
如果与一起使用 claude-code CLI:
# Set environment variable
export TODOIST_API_TOKEN=your_token_here
# Run the server
python -m todoist_mcp.server
或者在您的MCP设置文件中为Claude Code进行配置。
重新启动克劳德
配置后,重新启动Claude Desktop或Claude Code以加载MCP服务器。
使用示例
配置后,您可以通过与Claude的自然对话与Todoist进行交互:
查看今天的任务
You: "Show me my tasks for today"
Claude will use todoist_get_tasks with filter="today"
任务
You: "Create a task to review the infrastructure PR, priority 4, due tomorrow"
Claude will use todoist_create_task with appropriate parameters
批量延迟任务
You: "I'm overwhelmed. Show me all my tasks for today, then defer everything
except priority 4 items to next week"
Claude will:
1. Use todoist_get_tasks to see today's tasks
2. Use todoist_update_task to defer non-urgent items
按项目组织
You: "Show me my projects, then move all high-priority tasks to the 'Sprint' project"
Claude will:
1. Use todoist_get_projects to list projects
2. Use todoist_update_task to move tasks
完成任务
You: "I just finished the deployment. Mark that task as complete"
Claude will use todoist_complete_task
可用工具
todoist_gets
使用可选筛选器获取任务。
参数:
project_id(可选):按项目ID筛选label(可选):按标签名称筛选filter(可选):Todoist过滤查询(例如,“今天”、“过期”、“优先级1”)
todoist_create_task
创建新任务。
参数:
content(必填):任务标题/内容description(可选):任务描述project_id(可选):要向其中添加任务的项目priority(可选):1-4(4为最高值)due_string(可选):人类可读的截止日期(“明天”、“下周一”等)labels(可选):标签名称数组
todoist_update_task
更新现有任务。
参数:
task_id(必填):要更新的任务IDcontent(可选):新任务内容description(可选):新描述priority(可选):新优先级(1-4)due_string(可选):新的截止日期labels(可选):新标签数组(替换现有标签)
todoist_complete_task
将任务标记为已完成。
参数:
task_id(必填):要完成的任务ID
todoist_get-projects
列出所有项目(不需要参数)。
todoist_getlabels
列出所有标签(无需参数)。
故障排除
“未设置TODOIST_API_TOKEN”错误
- 确保您已创建
.env使用您的令牌进行归档 - 或者在shell/Claude配置中设置环境变量
- 从以下位置获取您的令牌:https://todoist.com/app/settings/integrations/developer
服务器未出现在Claude中
- 检查你的
claude_desktop_config.json语法正确 - 完全重新启动克劳德桌面
- 检查克劳德的MCP连接错误日志
API错误
- 验证您的令牌是否有效且未过期
- 检查您的互联网连接
- 某些操作需要Todoist Premium(如标签)
发展
运行测试
pip install -e ".[dev]"
pytest
代码格式化
black src/
ruff check src/
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
致谢
链接
支持
有关问题和功能请求,请 打开一个问题.
测试
该项目包括一个全面的测试套件,以确保可靠性。
运行测试
# Install test dependencies
pip install pytest pytest-asyncio
# Run all tests
PYTHONPATH=src pytest tests/ -v
测试覆盖率
测试套件包括:
- API方法验证:确保我们正在调用有效的Todoist API方法(将捕获
close_task对比complete_task程序错误 - 处理器功能测试:使用模拟API调用对所有MCP处理程序进行单元测试
- 错误处理测试:验证正确的错误处理和用户友好的消息
看 测试/README.md 了解更多详情。