Back to MCP directory
publicPublicdnsLocal runtime

todoist-mcp-server-ext

增强版Todoist MCP服务器扩展,提供完整的Todoist与Claude集成功能,包含任务、项目、标签、评论等29种管理工具,采用最新Todoist API SDK并优化了错误处理和类型安全。

article

README

🚀 增强版Todoist MCP服务器扩展

这是一个全面的MCP(模型上下文协议)服务器实现,可实现Claude与Todoist的全面集成。此扩展版本kydycode从原始的@abhiz123/todoist-mcp-server派生而来,并进行了增强。它包含了额外的功能、改进的兼容性,并且使用完整的Todoist API和最新的MCP SDK(@doist/todoist-api-typescript@4.0.4)增强了功能。

smithery徽章

🚀 快速开始

本地开发设置

# 克隆扩展版本仓库
git clone https://github.com/kydycode/todoist-mcp-server-ext.git
cd todoist-mcp-server-ext

# 安装依赖
npm install

# 构建项目
npm run build

获取Todoist API令牌

  1. 登录你的Todoist账户。
  2. 导航到设置 → 集成 → 开发者。
  3. 复制你的API令牌。

在Claude桌面版中使用

添加到你的claude_desktop_config.json文件中:

选项1:运行本地构建版本

{
  "mcpServers": {
    "todoist-mcp-server": {
      "command": "node",
      "args": ["/path/to/your/todoist-mcp-server-ext/dist/index.js"],
      "env": {
        "TODOIST_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

选项2:通过npm/npx运行(推荐用于已发布版本)

{
  "mcpServers": {
    "todoist-mcp-server": {
      "command": "npx",
      "args": ["-y", "@kydycode/todoist-mcp-server-ext@latest"],
      "env": {
        "TODOIST_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

选项3:先全局安装

# 全局安装扩展版本
npm install -g @kydycode/todoist-mcp-server-ext@latest

# 然后在Claude桌面版配置中使用
{
  "mcpServers": {
    "todoist-mcp-server": {
      "command": "todoist-mcp-server-ext",
      "env": {
        "TODOIST_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

✨ 主要特性

🔧 技术改进

  • 更新的Todoist SDK:现在使用@doist/todoist-api-typescript@4.0.4
  • 更新的MCP SDK兼容性:与MCP SDK 0.5.0兼容。
  • 增强的错误处理:全面的错误处理,带有详细的错误消息。
  • 改进的TypeScript支持:更好的类型安全性和兼容性。
  • 优化的API使用:高效使用Todoist API,包括用于强大搜索的getTasksByFilter和用于语义任务移动的moveTasks
  • 更好的响应格式:增强的任务、项目和标签格式,提高可读性,包括搜索结果中的项目名称。

增强的任务管理(10个工具)

  • 基于ID的直接操作:使用任务ID进行高效的任务操作。
  • 全面的任务创建:支持子任务、标签、项目、部分、优先级。
  • 快速添加集成:使用Todoist的快速添加功能以自然语言创建任务。
  • 高级任务搜索:使用Todoist的过滤引擎进行强大的关键字搜索(search: your query)。
  • 任务移动功能:在项目、部分之间移动任务,或将其设为子任务。
  • 任务状态管理:完成、重新打开和管理任务生命周期。
  • 详细的任务输出:搜索和获取任务操作返回更多任务详细信息。

🗂️ 完整的项目管理(5个工具)

  • 完整的项目CRUD操作:使用所有属性创建、读取、更新、删除项目。
  • 子项目支持:创建分层项目结构。
  • 项目自定义:设置颜色、收藏夹、视图样式(列表/看板)。
  • 增强的项目列表:改进的项目检索,支持分页和详细格式。

📋 部分管理(4个工具)

  • 完整的部分操作:创建、读取、更新、删除部分。
  • 特定项目的部分:过滤和管理项目内的部分。
  • 部分组织:正确的排序和结构管理。

🏷️ 标签管理(5个工具)

  • 完整的标签CRUD操作:创建、读取、更新、删除标签。
  • 标签自定义:设置名称、颜色、收藏夹、顺序。
  • 分页标签列表:高效检索所有标签。

💬 评论管理(5个工具)

  • 完整的评论CRUD操作:在任务和项目上创建、读取、更新、删除评论。
  • 附件支持:在评论中添加带有元数据的文件附件。
  • 灵活的目标设置:评论可以附加到任务或项目。
  • 分页评论检索:高效浏览评论线程。

🛠️ 可用工具(共29个)

任务操作(10个工具)

| 工具 | 详情 | | ---- | ---- | | todoist_create_task | 使用所有选项(子任务、标签、项目、部分、优先级)创建任务。 | | todoist_quick_add_task | 使用Todoist的快速添加语法以自然语言创建任务。 | | todoist_get_tasks | 使用过滤(项目、部分、父任务、标签、ID)和分页检索任务。 | | todoist_get_task | 通过任务ID获取特定任务,并返回详细信息。 | | todoist_update_task | 更新任务属性(内容、描述、截止日期、优先级、标签)。 | | todoist_delete_task | 通过任务ID删除任务。 | | todoist_complete_task | 标记任务为已完成。 | | todoist_reopen_task | 重新打开已完成的任务。 | | todoist_search_tasks | 使用Todoist的过滤引擎搜索任务(例如,search: keyword)。 | | todoist_move_task | 将任务移动到不同的项目、部分,或将其设为子任务。 |

项目操作(5个工具)

| 工具 | 详情 | | ---- | ---- | | todoist_get_projects | 列出所有活动项目,支持分页。 | | todoist_get_project | 通过项目ID获取特定项目。 | | todoist_create_project | 创建新项目(名称、颜色、收藏夹、视图样式、子项目)。 | | todoist_update_project | 更新项目属性。 | | todoist_delete_project | 通过项目ID删除项目。 |

部分操作(4个工具)

| 工具 | 详情 | | ---- | ---- | | todoist_get_sections | 列出部分(所有部分或特定项目的部分)。 | | todoist_create_section | 在项目中创建部分(名称、项目、排序)。 | | todoist_update_section | 更新部分名称。 | | todoist_delete_section | 通过部分ID删除部分。 |

标签操作(5个工具)

| 工具 | 详情 | | ---- | ---- | | todoist_create_label | 创建新标签(名称、颜色、收藏夹、顺序)。 | | todoist_get_label | 通过标签ID获取特定标签。 | | todoist_get_labels | 列出所有标签,支持分页。 | | todoist_update_label | 通过标签ID更新现有标签(名称、颜色、收藏夹、顺序)。 | | todoist_delete_label | 通过标签ID删除标签。 |

评论操作(5个工具)

| 工具 | 详情 | | ---- | ---- | | todoist_create_comment | 在任务或项目上创建新评论(支持附件)。 | | todoist_get_comment | 通过评论ID获取特定评论。 | | todoist_get_comments | 获取任务或项目的评论,支持分页。 | | todoist_update_comment | 通过评论ID更新现有评论。 | | todoist_delete_comment | 通过评论ID删除评论。 |

💻 使用示例

🎯 高级任务创建与管理

"Create task 'Team Meeting @Tomorrow #Work p1'"
"Add task 'Fix critical bug +KydyCode @DevProject L:Urgent L:Backend'"
"Quick add: 'Buy milk tomorrow at 2pm #shopping !p1'"
"Move task with ID {task_id} to project {project_id}"
"Search tasks: search: API deployment"

🗂️ 项目、部分、标签和评论管理

"List all my projects"
"Create project 'Q2 Planning' color:blue favorite:true view:board"
"Get sections for project {project_id}"
"Create label 'HighPriority' color:red isFavorite:true"
"List all labels"
"Add comment 'Great progress on this task!' to task {task_id}"
"Get all comments for project {project_id}"
"Update comment {comment_id} with new content"

🆚 扩展版本与原始版本对比

| 特性 | 原始版本 | 扩展版本 (@kydycode/todoist-mcp-server-ext) | | ---- | ---- | ---- | | Todoist SDK版本 | 旧版本 | ✅ @doist/todoist-api-typescript@4.0.4 | | MCP SDK兼容性 | 旧版本 | ✅ 最新的MCP SDK 0.5.0+ | | 错误处理 | 基本处理 | ✅ 全面处理,带有详细消息 | | TypeScript支持 | 有限支持 | ✅ 完整的类型安全性 | | 任务操作 | 基于搜索,功能有限 | ✅ 10个工具:基于ID的直接操作、moveTasks、强大的搜索、快速添加、类似完整的CRUD操作 | | 项目管理 | 有限 | ✅ 5个工具:完整的CRUD操作、子项目、分页 | | 部分管理 | 基本 | ✅ 4个工具:完整的部分操作 | | 标签管理 | 不可用 | ✅ 5个工具:完整的CRUD操作、分页 | | 评论管理 | 不可用 | ✅ 5个工具:完整的CRUD操作、附件、分页 | | API参数处理 | 不一致 | ✅ 正确的参数验证 | | 响应格式 | 基本 | ✅ 增强的可读性,更多详细信息 | | 构建系统 | 有问题 | ✅ 干净的编译 | | 搜索功能 | 基本的本地过滤 | ✅ 强大的getTasksByFilter(Todoist引擎) |

🔧 技术细节

项目结构

src/
├── index.ts          # 包含所有工具的主服务器实现
package.json      # 依赖和脚本
tsconfig.json     # TypeScript配置
README.md         # 本文件
local-instructions.md # 个人发布指南
LICENSE
.gitignore
dist/             # 编译后的JavaScript输出(运行`npm run build`后)
    ├── index.js
    └── index.d.ts

从源代码构建

# 安装依赖
npm install

# 构建TypeScript
npm run build

# 测试服务器(需要TODOIST_API_TOKEN)
# 示例:设置令牌并发送列出工具的请求
export TODOIST_API_TOKEN="your_actual_todoist_api_token"
echo '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}' | node dist/index.js

开发脚本

npm run build     # 编译TypeScript并使输出可执行
npm run watch     # 监视更改并重新构建(不使输出可执行)
npm run prepare   # 预发布构建(运行build)

🤝 贡献

欢迎贡献!此扩展版本接受以下方面的贡献:

  • 额外的Todoist API端点
  • 增强的错误处理和验证
  • 性能优化
  • 文档改进
  • 错误修复和兼容性更新

请将问题和拉取请求提交到扩展版本仓库

📄 许可证

本项目根据MIT许可证授权 - 详情请参阅LICENSE文件。

🙏 致谢

🐛 问题与支持

🔗 相关链接

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client