任务管理API服务

Todoist MCP Server是一个用于Todoist API集成的任务管理服务,提供完整的项目和任务管理功能,包括分页支持、多认证方式和批量操作。

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

使用说明

Todoist MCP服务器

Todoist API集成的MCP服务器。发布到 PyPI

状态

✅ 全部功能 -现在使用Todoist统一的API v1并提供适当的分页支持

v0.4.0 -主要扩展:部分支持、标签管理和批处理操作

API重要说明

Todoist有许多API版本,ID系统不兼容:

  • v1统一API (Todoist官方):使用字母数字ID(例如。, 69mF7QcCj9JmXxp8)
  • v2 REST API:使用数字ID(例如。, 7246645180)

这种不兼容性意味着服务器端搜索等某些功能在此MCP实现中不可用,因为搜索仅存在于v2中,但返回的ID与v1操作不兼容。

特性

  • 所有端点的完全基于光标的分页
  • 所有列表端点的可配置限制参数
  • 多身份验证支持(环境、配置文件、运行时)
  • 完整的任务和项目管理能力
  • 章节支持 (v0.4.0):项目段的CRUD操作
  • 标签管理 (v0.4.0):标签的CRUD操作
  • 批量操作 (v0.4.0):移动、更新、同时完成多个任务
  • 对任务和项目的CRUD操作进行注释
  • 在项目、部门和父级之间移动任务
  • 带有详细错误消息的错误处理

局限性

  • 没有服务器端搜索(由于v1/v2 API不兼容)
  • 客户端仅对任务查询进行过滤

安装

pip install todoist-mcp

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "todoist": {
      "command": "uvx",
      "args": ["todoist-mcp"],
      "env": {
        "TODOIST_API_TOKEN": "your_token_here"
      }
    }
  }
}

AmazonQ开发人员CLI配置

添加到您的 .amazonq/mcp.json:

{
  "mcpServers": {
    "todoist": {
      "command": "uvx",
      "args": ["todoist-mcp"],
      "env": {
        "TODOIST_API_TOKEN": "your_token_here"
      }
    }
  }
}

替代方案:使用mcp-gen

对于复杂的MCP配置管理,例如为团队的不同环境提供配置,请使用 mcp基因 使用YAML:

看https://github.com/OAuthBringer/mcp-gen/examples更多完整示例

# mcp-config.yaml

servers:
    todoist:
      command: uvx
      args: [todoist-mcp]
      env:
        TODOIST_API_TOKEN: {{ secrets.TODOIST_API_TOKEN }}
    ```
Then generate your configuration:
```bash
`mcp-gen generate -c mcp-config.yaml -s secrets-file.yaml`

配置

身份验证选项(按优先级顺序):

  1. 运行时:创建客户端时传递令牌
  2. 配置文件: ~/.config/todoist/config.json 随着 {"api_token": "your_token"}
  3. 环境:设置 TODOIST_API_TOKEN

可用工具

项目

  • get_projects -列出带分页(限制、光标)的项目
  • get_project -按ID获取单个项目
  • add_project -创建新项目

任务

  • get_tasks -列出带有分页和过滤器的任务
  • get_task -按ID获取单个任务
  • add_task -使用所有属性创建新任务
  • update_task -更新现有任务
  • move_task -将任务移动到不同的项目、部分或父级

章节(v0.4.0)

  • get_sections -使用分页列出项目的部分
  • get_section -按ID获取单个部分
  • add_section -在项目中创建新部分
  • update_section -更新节名称
  • delete_section -删除一个部分

标签(v0.4.0)

  • get_labels -列出所有带分页的标签
  • get_label -按ID获取单个标签
  • add_label -创建新标签
  • update_label -更新标签属性
  • delete_label -删除标签

批量操作(v0.4.0)

  • batch_move_tasks -将多个任务移动到项目/部分
  • batch_update_labels -在多个任务中添加/删除标签
  • batch_update_tasks -更新具有相同属性的多个任务
  • batch_complete_tasks -同时完成多项任务

评论

  • get_comments -按页码列出任务/项目的注释
  • get_comment -按ID获取单个评论
  • add_comment -向任务或项目添加注释
  • update_comment -更新现有评论
  • delete_comment -删除评论

技术细节

  • 基于FastMCP v2.3.3构建+
  • Python 3.11+
  • 使用httpx直接集成API v1
  • 不依赖于todoist api python SDK

发展

# Clone repository
git clone https://github.com/OAuthBringer/todoist-mcp
cd todoist-mcp

# Create virtual environment
uv venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows

# Install dependencies
uv pip install -e .
uv pip install -e ".[dev]"

# Run tests
pytest