增强的Todoist MCP服务器扩展
](https://smithery.ai/server/@kydycode/todoist-mcp-server-ext)
一个全面的MCP(模型上下文协议)服务器实现,提供了Claude和Todoist之间的完全集成。这 加长版 包括使用带有最新MCP SDK的完整Todoist API的附加功能、改进的兼容性和增强的功能(@doist/todoist-api-typescript@4.0.4).完成的任务检索使用Todoist REST API v1。
🆕 扩展版本功能
🔧 技术改进
- 更新Todoist SDK:现在使用
@doist/todoist-api-typescript@4.0.4. - 更新MCP SDK兼容性:与MCP SDK 0.5.0兼容。
- 增强的错误处理:具有详细错误消息的全面错误处理。
- 改进的TypeScript支持:更好的类型安全性和兼容性。
- 优化API使用:Todoist API的有效使用,包括
getTasksByFilter 用于强大的搜索和 moveTasks 用于语义任务移动。 - 更好的响应格式:增强了任务、项目和标签格式,以提高可读性,包括搜索结果中的项目名称。
✨ 增强的任务管理(11个工具)
- 直接基于ID的操作:使用任务ID进行高效的任务操作。
- 全面任务创建:支持子任务、标签、项目、部分、优先级。
- 快速添加集成:使用Todoist的快速添加创建自然语言任务。
- 高级任务搜索:使用Todoist的过滤引擎进行强大的关键字搜索(
search: your query). - 任务移动能力:在项目、部分之间移动任务,或将其设置为子任务。
- 批量任务操作:在单个操作中移动具有子任务的多个任务。
- 任务状态管理:完成、重新打开和管理任务生命周期。
- 详细任务输出:搜索和获取任务操作返回更多任务详细信息。
🗂️ 完整的项目管理(5个工具)
- 完整项目CRUD:创建、读取、更新、删除具有所有属性的项目。
- 子项目支持:创建分层项目结构。
- 项目定制:设置颜色、收藏夹、视图样式(列表/板)。
- 增强的项目列表:通过分页和详细格式改进了项目检索。
📋 部门管理(4个工具)
- 完成工段操作:创建、读取、更新、删除部分。
- 项目特定章节:筛选和管理项目中的部分。
- 章节组织:适当的订购和结构管理。
🏷️ 标签管理(5个工具)
- 全标签CRUD:创建、读取、更新、删除标签。
- 标签定制:设置名称、颜色、收藏夹、顺序。
- 分页标签列表:高效检索所有标签。
💬 评论管理(5个工具)
- 完成CRUD注释:创建、阅读、更新、删除对任务和项目的评论。
- 附件支持:使用元数据将文件附件添加到注释中。
- 灵活定位:注释可以附加到任务或项目上。
- 分页评论检索:高效浏览评论线程。
✅ 已完成任务历史记录(1个工具) 🆕
- REST API v1集成:通过Todoist API v1访问已完成的任务历史记录(
/api/v1/tasks/completed/by_completion_date).已从不推荐使用的同步API v9迁移。 - 灵活过滤:按项目、部门、日期范围(从/到)筛选。
- 基于光标的分页:高效检索大型历史记录。
- 元数据:显示标签、优先级、描述、笔记计数、完成时间戳。
🛠️ 可用工具(共31个)
任务操作(11个工具)
| 工具 | 说明 |
|---|
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 | 将任务移动到其他项目、分区,或将其设置为子任务。 |
todoist_bulk_move_tasks | 将多个任务及其子任务移动到项目、分区或父任务中。 |
项目运营(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删除评论 |
已完成任务操作(1个工具)🆕
| 工具 | 说明 |
|---|
todoist_get_completed_tasks | 通过按项目、部分、日期范围(自/直到需要)和基于光标的分页进行筛选,获取已完成任务的历史记录。使用Todoist REST API v1。 |
🚀 安装和设置
地方发展设置
# Clone the extended repository
git clone https://github.com/kydycode/todoist-mcp-server-ext.git
cd todoist-mcp-server-ext
# Install dependencies
npm install
# Build the project
npm run build
获取Todoist API代币
- 登录您的Todoist帐户
- 导航到“设置”→ 集成→ 开发者
- 复制您的API令牌
使用Claude Desktop
添加到您的 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:首先全局安装
# Install the extended version globally
npm install -g @kydycode/todoist-mcp-server-ext@latest
# Then use in Claude Desktop config
{
"mcpServers": {
"todoist-mcp-server": {
"command": "todoist-mcp-server-ext",
"env": {
"TODOIST_API_TOKEN": "your_api_token_here"
}
}
}
}
📖 使用示例
🎯 高级任务创建和管理
"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"
✅ 已完成任务历史记录🆕
"Get completed tasks between 2024-01-01 and 2024-01-31"
"Show tasks completed since 2024-01-01 until today"
"Get completed tasks from project {project_id} since 2024-01-01 until 2024-12-31"
"Show last week's completed tasks"
🆚 扩展与原始比较
| 功能 | 原始 | 扩展版本(@kydycode/todoist-mcp-server-ext) |
|---|
| Todoist SDK版本 | 年长 | ✅ @doist/todoist-api-typescript@4.0.4 |
| MCP SDK兼容性 | 旧版本 | ✅ 最新MCP SDK 0.5.0+ |
| 错误处理 | 基础 | ✅ 全面,包含详细信息 |
| TypeScript支持 | 有限 | ✅ 全型安全 |
| 任务操作 | 基于搜索的有限功能 | ✅ 11工具:基于直接ID, moveTasks,批量移动,强大的搜索,快速添加,完整的CRUD操作 |
| 项目管理 | 有限 | ✅ 5工具:完整的CRUD操作、子项目、分页 |
| 科室管理 | 基础 | ✅ 4工具:完成分段操作 |
| 标签管理 | 不可用 | ✅ 5工具:完整的CRUD操作,分页 |
| 评论管理 | 不可用 | ✅ 5工具:完整的CRUD操作、附件、分页 |
| 已完成任务历史记录 | 不可用 | ✅ 1工具:REST API v1集成、日期过滤、光标分页 |
| API参数处理 | 不一致 | ✅ 正确的参数验证 |
| 响应格式 | 基础 | ✅ 增强可读性,更多细节 |
| 构建系统 | 问题 | ✅ 干净编译 |
| 搜索功能 | 基本本地筛选器 | ✅ 健壮 getTasksByFilter (Todoist引擎) |
🔧 发展
项目结构
src/
├── index.ts # Main server implementation with all tools
package.json # Dependencies and scripts
tsconfig.json # TypeScript configuration
README.md # This file
local-instructions.md # Personal publishing guide
LICENSE
.gitignore
dist/ # Compiled JavaScript output (after `npm run build`)
├── index.js
└── index.d.ts
从源头构建
# Install dependencies
npm install
# Build TypeScript
npm run build
# Test the server (requires TODOIST_API_TOKEN)
# Example: Set token and pipe a list tools request
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 # Compile TypeScript and make output executable
npm run watch # Watch for changes and rebuild (doesn't make output executable)
npm run prepare # Pre-publish build (runs build)
🤝 贡献
欢迎投稿!此扩展版本接受以下贡献:
- 其他Todoist API端点
- 增强的错误处理和验证
- 性能优化
- 文档改进
- Bug修复和兼容性更新
请向提交问题并提取请求 扩展存储库.
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 学分
🐛 问题和支持
🔗 相关链接