Todoist MCP服务器
一个模型上下文协议(MCP)服务器,允许像Claude这样的客户端与Todoist交互,通过自然语言实现任务管理功能。服务器充当客户端和Todoist API之间的中介,处理身份验证、数据转换和命令处理。这是Python版本
特性
- 任务创建:创建具有必需内容和可选属性的新任务
- 任务检索:按ID获取任务或列出具有筛选选项的任务
- 任务管理:更新任务属性,将任务标记为已完成,删除任务
先决条件
- Python 3.12
- 紫外线
- Todoist帐户和API令牌
如何获取Todoist API代币
- 登录您的Todoist帐户
- 转到用户设置->集成->开发人员
- 复制API令牌
使用Claude Desktop
通过UVX运行(无克隆)
您可以使用UVX直接从GitHub运行服务器:
uvx --from https://github.com/Johnxjp/todoist-mcp-python.git mcp-server-todoist然后将此配置添加到您的Claude设置中:
{
"mcpServers": {
"todoist-server": {
"command": "uvx",
"args": [
"--from",
"https://github.com/Johnxjp/todoist-mcp-python.git",
"mcp-server-todoist"
],
"env": {
"TODOIST_API_TOKEN": "YOUR_API_TOKEN"
}
}
}
}从克隆的存储库运行
如果您更喜欢克隆存储库,请使用以下命令:
git clone git@github.com:Johnxjp/todoist-mcp-python.git然后添加到您的Claude配置文件中:
{
"mcpServers": {
"todoist-server": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"todoist_api_python",
"mcp",
"run",
"/full/path/to/todoist_server.py"
],
"env": {
"TODOIST_API_TOKEN": "YOUR_API_TOKEN"
}
}
}
}可用工具
服务器为Claude提供了以下工具:
- 创建任务:在Todoist中创建新任务
- 必填:内容(任务标题) - 可选: - 描述, - due_date, - 优先, - project_id, - section_id, - 标签
- get_tasks:使用各种过滤器从Todoist获取任务和ID列表
- 可选: - project_id, - 项目名称, - 任务名称, - 优先, - 标签, - 这是过度的, - 限制
- update_task:通过按名称搜索现有任务来更新它
- 必填项:task_id - 可选: - 内容, - 描述, - 标签, - 优先, - due_date(YYYY-MM-DD), - 截止日期(YYYY-MM-DD)
- 删除任务:通过按名称搜索任务来删除任务
- 必填项:task_id
- 完成任务:按名称搜索任务,将其标记为已完成
- 必填项:task_id
交互示例
以下是Claude如何通过此MCP服务器与Todoist交互的一些示例:
- “添加购买杂货的任务”
- “显示我所有的紧急任务”
- “今天有什么任务要交?”
- “将洗衣任务标记为已完成”
- “将牙医预约的优先级更改为紧急”
安全考虑
- 服务器通过环境变量安全地处理Todoist API令牌
- 永远不要分享你的
.env文件或公开您的API令牌 - 服务器在本地运行,仅与Todoist API通信
