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.
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 实现,具有严格的类型检查