Provides comprehensive task management capabilities including retrieving task details, analyzing workflows with progress and risk assessment, updating task statuses, managing custom fields, and adding comments to tasks.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ClickUp MCP Serverget task details for ST2IN1-123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ClickUp MCP 服务器
由 eBrook Group 开发
版权所有 © 2026 eBrook Group (
概述
ClickUp MCP 服务器是一个模型上下文协议(MCP)服务器,提供与 ClickUp 任务管理 API 的无缝集成。它使 AI 助手和自动化工具能够通过标准化接口与 ClickUp 任务交互、分析工作流并管理项目数据。
核心功能
任务管理:检索详细的任务信息、更新状态和添加评论
工作流分析:分析任务进度、依赖关系、时间跟踪和风险因素
自定义字段:更新自定义字段,如 GitHub 分支名称
速率限制:内置速率限制以遵守 ClickUp API 约束(100 次请求/分钟)
类型安全:完整的 TypeScript 实现,具有严格的类型检查
错误处理:全面的错误处理和日志记录
自定义任务 ID:支持数字和自定义任务 ID(例如 ST2IN1-123)
目录
安装
系统要求
Node.js:18.0.0 或更高版本
TypeScript:5.6.0 或更高版本
ClickUp API 令牌:个人 API 令牌(以
pk_开头)
安装依赖
构建项目
配置
环境变量
创建 .env 文件或设置以下环境变量:
变量 | 必需 | 描述 | 示例 |
| 是 | ClickUp 个人 API 令牌(格式: |
|
| 推荐 | 团队/工作空间 ID(自定义任务 ID 必需) |
|
获取 ClickUp API 令牌
登录 ClickUp
进入设置 → 应用
在 API 令牌下点击生成
复制令牌(以
pk_开头)
获取团队 ID
进入你的 ClickUp 工作空间
点击设置 → 工作空间
你的团队 ID 在工作空间设置 URL 或 API 响应中可见
MCP 客户端配置
Claude Desktop 配置
添加到 Claude Desktop 配置文件:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
Cursor 配置
添加到 Cursor MCP 配置:
使用
启动服务器
生产模式
开发模式
基本示例
配置好 MCP 客户端后,你可以使用自然语言与 ClickUp 交互:
"获取任务 ST2IN1-123 的详细信息"
"分析任务 8675309 的工作流"
"将任务 ST2IN1-456 的状态更新为'进行中'"
"将任务 123 的 GitHub 分支设置为 'feature/new-feature'"
"向任务 ST2IN1-789 添加评论'审核完成'"
可用工具
1. get_task_details(获取任务详情)
获取 ClickUp 任务的全面信息。
参数:
task_id(字符串,必需):ClickUp 任务 ID(数字或自定义格式,如ST2IN1-123)
返回:
任务 ID、名称、状态
描述和 URL
创建者和指派人
标签和优先级
截止日期
预估时间和已用时间
自定义字段
依赖项数量
列表、文件夹和空间信息
示例:
2. analyze_workflow(分析工作流)
分析任务的工作流,提供见解和建议。
参数:
task_id(字符串,必需):ClickUp 任务 ID
返回:
进度分析:当前状态和预估进度百分比
时间分析:
创建后天数和最后更新天数
预估时间与已用时间
剩余小时数
团队分析:创建者、指派人、关注者
依赖项分析:被阻塞、阻塞中、依赖于
风险因素:逾期、过时、未分配、超预算
建议:可操作的改进建议
示例:
3. update_status(更新状态)
更新任务的状态。
参数:
task_id(字符串,必需):ClickUp 任务 IDstatus(字符串,必需):新状态值(例如,"进行中"、"完成"、"已阻塞")
验证:
状态必须是字母数字字符,包含下划线和空格
最多 100 个字符
示例:
4. update_github_branch(更新 GitHub 分支)
更新任务的 GitHub 分支自定义字段。
参数:
task_id(字符串,必需):ClickUp 任务 IDbranch_name(字符串,必需):GitHub 分支名称
验证:
分支名称只能包含字母数字字符、斜杠、连字符和下划线
最多 255 个字符
示例:
**注意:**此工具需要在 ClickUp 工作空间中存在名为"GitHub Branch"的自定义字段。
5. add_comment(添加评论)
向 ClickUp 任务添加评论。
参数:
task_id(字符串,必需):ClickUp 任务 IDcomment_text(字符串,必需):评论内容
验证:
评论文本不能为空
最多 10,000 个字符
示例:
开发
项目结构
可用脚本
脚本 | 描述 |
| 编译 TypeScript 到 JavaScript |
| 启动服务器(生产模式) |
| 启动服务器并热重载(开发模式) |
| 运行 TypeScript 类型检查,不生成文件 |
| 运行 TypeScript 编译器检查 |
| 删除编译文件 |
代码风格和约定
TypeScript:启用严格模式,进行全面的类型检查
模块系统:ES 模块(NodeNext)
编译目标:ES2022
格式化:遵循 TypeScript 最佳实践
错误处理:所有错误都被捕获并正确清理
日志记录:使用提供的日志工具(
debug、info、error)
添加新工具
在
src/tools/中创建新文件(例如my-tool.ts)实现工具处理函数
在
src/server.ts中使用server.tool()注册工具使用 Zod 定义参数模式
如需要,在
src/types/index.ts中更新 TypeScript 类型
示例:
API 参考
ClickUpService 类
与 ClickUp API 交互的主要服务类。
方法
getTask(taskId: string): Promise<ClickUpApiResponse>
通过 ID 获取任务。
updateStatus(taskId: string, status: string): Promise<ClickUpApiResponse>
更新任务的状态。
updateCustomField(taskId: string, fieldId: string, value: string): Promise<ClickUpApiResponse>
更新自定义字段值。
addComment(taskId: string, commentText: string): Promise<ClickUpApiResponse>
向任务添加评论。
findCustomFieldId(taskBody: unknown, fieldName: string): string | null
通过名称查找自定义字段 ID。
formatTaskDetails(task: ClickUpTaskResponse): TaskDetailsSummary
将任务数据格式化为可读摘要。
analyzeTaskWorkflow(task: ClickUpTaskResponse): TaskWorkflowAnalysis
分析任务工作流并提供见解。
速率限制
该服务实现速率限制以遵守 ClickUp 的 API 约束:
限制:每分钟 100 次请求
实现:令牌桶算法
错误代码:超出限制时返回
RATE_LIMIT_001
故障排除
常见问题
1. "CLICKUP_TOKEN 未配置"
解决方案:确保在环境配置中正确设置了 ClickUp API 令牌。
2. "自定义任务 ID 需要团队 ID"
解决方案:使用自定义任务 ID(例如 ST2IN1-123)时,设置 CLICKUP_TEAM_ID 环境变量。
3. 找不到任务(404 错误)
可能原因:
任务 ID 不正确
任务已归档或删除
自定义任务 ID 缺少团队 ID
权限不足
解决方案:
验证任务 ID 是否正确
检查 API 令牌是否有权访问该任务
确保为自定义 ID 设置了
CLICKUP_TEAM_ID
4. 超出速率限制(429 错误)
解决方案:服务器实现了自动速率限制。稍等片刻再试。限制每分钟重置一次。
5. 找不到"GitHub Branch"字段
解决方案:在 ClickUp 工作空间中创建名为"GitHub Branch"的自定义字段:
进入列表/文件夹/空间设置
点击自定义字段 → 添加字段
创建一个名为"GitHub Branch"的文本字段
调试日志
调试消息记录到 stderr。查看详细日志:
技术细节
依赖项
@modelcontextprotocol/sdk:MCP 协议实现
zod:模式验证和类型安全
TypeScript:类型安全开发
Node.js Fetch API:HTTP 请求(内置)
TypeScript 配置
目标:ES2022
模块:NodeNext(ES 模块)
严格模式:启用所有严格检查
源映射:启用调试
声明文件:为库使用生成
安全考虑
API 令牌永远不会记录或在错误消息中暴露
所有用户输入都使用 Zod 模式验证
错误消息经过清理以防止信息泄漏
速率限制防止 API 滥用
贡献
开发工作流
Fork 仓库
创建功能分支(
git checkout -b feature/my-feature)进行更改
运行类型检查:
npm run type-check构建项目:
npm run build测试更改
使用描述性消息提交
推送到你的 fork
打开 Pull Request
提交信息格式
遵循格式:ST2IN1-[票号] 简短描述
示例:ST2IN1-12345 添加任务模板支持
许可证
MIT License
版权所有 © 2026 eBrook Group (https://www.ebrook.com.tw)
支持
如有问题、疑问或功能请求,请联系:
eBrook Group
网站:https://www.ebrook.com.tw
更新日志
版本 3.1.0
首次公开发布
5 个核心工具:get_task_details、analyze_workflow、update_status、update_github_branch、add_comment
速率限制实现
自定义任务 ID 支持
全面的错误处理和日志记录
完整的 TypeScript 实现,具有严格的类型检查