关于 TickTick MCP Server
这是一个 TickTick MCP 服务,供 AI 助手通过 TickTick Open API 管理任务和项目。除更新和完成任务外,它还支持创建具有可配置属性的项目。
主要功能
- 01获取单个或所有项目中的任务
- 02创建带截止日期和优先级的任务
- 03更新、完成或删除任务
- 04列出现有项目
- 05创建具有自定义属性的项目
适用场景
- 01查看 TickTick 各项目中的任务
- 02添加带截止日期和优先级的任务
- 03通过 AI 助手更新或完成任务
- 04为不同工作类型创建项目
MCP 相关
该服务通过 TickTick Open API 和访问令牌,将 TickTick 任务及项目操作作为工具提供给 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
TickTick MCP 服务
这是一个面向热门任务管理应用 TickTick 的 Model Context Protocol(MCP)服务实现。该服务允许 AI 助手通过 TickTick Open API 与 TickTick 交互。
📋 功能
- 获取项目中的任务
- 创建新任务,并设置截止日期、优先级和描述等详细信息
- 更新现有任务
- 将任务标记为已完成
- 删除任务
- 获取项目列表
- 创建带有自定义属性的新项目
🚀 快速开始
前提条件
- Node.js(v18 或更高版本)
- TickTick 开发者账号
- TickTick API 访问令牌
安装
-
克隆此仓库:
git clone https://github.com/shidhincr/ticktick-mcpserver.git cd ticktick-mcpserver -
安装依赖:
npm install -
构建项目:
npm run build -
设置包含访问令牌的环境变量:
export TICKTICK_ACCESS_TOKEN=your_access_token_here -
启动服务:
npm start
🔑 身份验证设置
1. 注册 TickTick 开发者账号
- 访问 TickTick 开发者中心
- 创建账号并注册应用
- 获取客户端 ID 和客户端密钥
2. 获取访问令牌
按照 OAuth2 流程获取访问令牌:
-
将用户重定向到 TickTick 授权页面:
https://ticktick.com/oauth/authorize?scope=tasks:read tasks:write&client_id=YOUR_CLIENT_ID&state=STATE&redirect_uri=YOUR_REDIRECT_URI&response_type=code -
将收到的代码换取访问令牌: 向
https://ticktick.com/oauth/token发送 POST 请求,包含:- 标头:使用 client_id 和 client_secret 进行基本身份验证
- 请求体(application/x-www-form-urlencoded):
- code:收到的授权代码
- grant_type:authorization_code
- scope:tasks:read tasks:write
- redirect_uri:你的重定向 URI
-
安全地保存收到的访问令牌。
🛠️ 可用工具
该服务实现了以下供 AI 交互使用的工具:
任务管理
-
ticktick_get_tasks- 获取特定项目或所有项目中的任务{ project_id?: string; // Optional project ID limit?: number; // Optional result limit (default: 10) } -
ticktick_create_task- 创建新任务{ title: string; // Required: Task title content?: string; // Optional: Task content desc?: string; // Optional: Task description project_id: string; // Required: Project ID due_date?: string; // Optional: Due date (ISO format) priority?: number; // Optional: Priority (0, 1, 3, 5) is_all_day?: boolean; // Optional: All-day task flag } -
ticktick_update_task- 更新现有任务{ project_id: string; // Required: Project ID task_id: string; // Required: Task ID title?: string; // Optional: New title // ... other task properties } -
ticktick_complete_task- 将任务标记为已完成{ project_id: string; // Required: Project ID task_id: string; // Required: Task ID } -
ticktick_delete_task- 删除任务{ project_id: string; // Required: Project ID task_id: string; // Required: Task ID }
项目管理
-
ticktick_get_projects- 获取所有项目的列表 -
ticktick_create_project- 创建新项目{ name: string; // Required: Project name color?: string; // Optional: Color code (e.g. "#F18181") view_mode?: string; // Optional: View mode ("list", "kanban", "timeline") kind?: string; // Optional: Project kind ("TASK", "NOTE") }
📁 项目结构
ticktick-mcpserver/
├── dist/ # Compiled TypeScript (generated after building)
├── src/
│ └── index.ts # Main server implementation
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # Documentation
🤝 参与贡献
欢迎贡献!欢迎随时提交 Pull Request。
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 创建 Pull Request
📚 API 参考
本项目使用 TickTick Open API。有关 API 端点和参数的详细信息,请参阅官方文档。
📝 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
🙏 致谢
- 感谢 TickTick 提供 API
- 感谢 Model Context Protocol (MCP) 提供协议规范
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。