任务管理MCP服务器

一个与Todoist集成的模型上下文协议(MCP)服务器,允许Claude和其他兼容MCP的AI助手与您的Todoist任务和项目进行交互。

  • by dan-bailey
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dan-bailey/todoist-mcp

使用说明

Todoist MCP服务器

与Todoist集成的模型上下文协议(MCP)服务器,允许Claude和其他兼容MCP的AI助手与您的Todoist任务和项目进行交互。

特性

  • 任务管理:创建、读取、更新、完成和删除任务
  • 项目管理:列出并管理项目
  • 过滤:按项目、节、标签或自然语言查询筛选任务
  • API全面支持:全面覆盖Todoist的REST API v2

安装

先决条件

  • Python 3.12或更高版本
  • pip(Python包安装程序)
  • Todoist帐户和API令牌

步骤1:获取您的Todoist API代币

  1. 首选 Todoist集成设置
  2. 向下滚动到“API令牌”部分
  3. 复制您的API令牌(您稍后需要此令牌)

步骤2:安装MCP服务器

  1. 克隆存储库:
git clone <repository-url>
cd todoist-mcp
  1. 安装软件包:
pip install -e .

注: 如果要在虚拟环境中安装它:

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e .
  1. 创建一个 .env 使用API令牌文件:
# Create .env file in the todoist-mcp directory
echo "TODOIST_API_TOKEN=your_api_token_here" > .env

替换 your_api_token_here 使用您在步骤1中复制的令牌。

步骤3:配置Claude桌面

Claude Desktop配置文件位于:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

选项A:使用虚拟环境(建议用于开发)

如果安装在虚拟环境中,请使用到的完整路径 todoist-mcp 命令:

{
  "mcpServers": {
    "todoist": {
      "command": "/full/path/to/venv/bin/todoist-mcp"
    }
  }
}

要查找完整路径,请运行:

which todoist-mcp  # On macOS/Linux
where todoist-mcp  # On Windows

选项B:全局安装

如果全局安装(没有虚拟环境),则可以使用:

{
  "mcpServers": {
    "todoist": {
      "command": "todoist-mcp"
    }
  }
}

重要提示:

  • MCP服务器将自动加载 TODOIST_API_TOKEN 从 .env 文件在 todoist-mcp 目录
  • 如果您使用的是 .env 文件
  • 在更新配置之后, 完全重新启动克劳德桌面 (完全退出应用程序,不要只是关闭窗口)

步骤4:验证安装

  1. 完全重新启动克劳德桌面 (使用菜单中的“退出”)
  2. 打开克劳德桌面
  3. 查找MCP服务器指示器(通常在下角或设置中)
  4. 您应该看到“todist”被列为可用的MCP服务器
  5. 试着问克劳德:“给我看看我的Todoist任务”

故障排除

“无法连接到MCP服务器”或“生成todoist MCP ENOENT”

  • 确保您使用了完整路径 todoist-mcp 如果使用虚拟环境
  • 通过运行以下命令验证该命令是否存在 which todoist-mcp (macOS/Linux)或 where todoist-mcp (Windows)
  • 检查你的 .env 文件存在于 todoist-mcp 具有正确令牌的目录

“未设置TODOIST_API_TOKEN环境变量”

  • 确保您的 .env 文件在 todoist-mcp 目录(与 pyproject.toml)
  • 验证 .env 文件包含: TODOIST_API_TOKEN=your_actual_token
  • 检查变量名中的拼写错误

服务器持续断开连接

  • 在验证您的API令牌是否有效https://todoist.com/app/settings/integrations/developer
  • 检查您是否已完全重新启动Claude Desktop
  • 查看Claude Desktop日志以了解具体的错误消息

用法

使用克劳德桌面

配置后,您可以使用自然语言与Claude交互:

  • “显示我今天的所有任务”
  • “创建一个任务来审查明天到期的季度报告”
  • “将任务ID 12345标记为已完成”
  • “列出我的所有项目”
  • “创建一个名为“家居装修”的新项目”
  • “显示所有高优先级任务”

作为独立服务器(高级)

您还可以直接运行MCP服务器进行测试或与其他MCP客户端集成:

# Make sure your .env file is configured first
todoist-mcp

可用工具

任务操作

  • get_tasks -列出具有可选筛选功能的任务
  • get_task -获取特定任务的详细信息
  • create_task -创建新任务
  • update_task -更新现有任务
  • complete_task -将任务标记为已完成
  • reopen_task -重新打开已完成的任务
  • delete_task -删除任务

项目运营

  • get_projects -列出所有项目
  • get_project -获取特定项目的详细信息
  • create_project -创建新项目

部门运营

  • get_sections -列出项目中的部分

交互示例

连接后,您可以使用自然语言与Claude进行交互:

  • “显示我今天的所有任务”
  • “创建一个任务来审查明天到期的季度报告”
  • “将任务ID 12345标记为已完成”
  • “列出我的所有项目”
  • “创建一个名为“家居装修”的新项目”

发展

项目结构

todoist-mcp/
├── todoist_mcp/
│   ├── __init__.py
│   ├── client.py      # Todoist API client
│   └── server.py      # MCP server implementation
├── pyproject.toml
├── README.md
└── .env.example

运行测试

(未来将在此处添加测试)

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

此项目根据LICENSE文件中指定的条款获得许可。