名称: clickup-mcp
描述: 通过官方 MCP 管理 ClickUp 任务、文档、时间追踪、评论、聊天和搜索。需要 OAuth 认证。
主页: https://clickup.com
元数据: {"clawdbot":{"emoji":"✅","requires":{"bins":["mcporter"],"env":["CLICKUP_TOKEN"]}}}
通过官方 MCP 服务器访问 ClickUp。支持全工作区搜索、任务管理、时间追踪、评论、聊天和文档操作。
ClickUp MCP 仅允许来自 已列入白名单的客户端 的 OAuth:
- Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, ChatGPT
# Claude Code
claude mcp add clickup --transport http https://mcp.clickup.com/mcp
# 然后在会话中运行 `/mcp` 进行授权
使用 Claude Code 完成 OAuth,然后提取令牌供 mcporter 使用:
步骤 1:通过 Claude Code 授权
claude mcp add clickup --transport http https://mcp.clickup.com/mcp
claude
# 在 Claude Code 中运行:/mcp
# 在浏览器中完成 OAuth
步骤 2:提取令牌
jq -r '.mcpOAuth | to_entries | .[] | select(.key | startswith("clickup")) | .value.accessToken' ~/.claude/.credentials.json
步骤 3:添加到环境变量
# 添加到 ~/.clawdbot/.env
CLICKUP_TOKEN=eyJhbGciOiJkaXIi...
步骤 4:配置 mcporter
添加到 config/mcporter.json:
{
"mcpServers": {
"clickup": {
"baseUrl": "https://mcp.clickup.com/mcp",
"description": "Official ClickUp MCP",
"headers": {
"Authorization": "Bearer ${CLICKUP_TOKEN}"
}
}
}
}
步骤 5:测试
mcporter list clickup
mcporter call 'clickup.clickup_search(keywords: "test", count: 3)'
令牌有效期很长(约 10 年)。如果过期:
1. 在 Claude Code 中重新运行 /mcp
2. 从 ~/.claude/.credentials.json 重新提取令牌
3. 更新 .env 中的 CLICKUP_TOKEN
| 工具 | 描述 |
|---|---|
clickup_search |
跨任务、文档、仪表板、聊天、文件的全局搜索 |
| 工具 | 描述 |
|---|---|
clickup_create_task |
创建任务(含名称、描述、状态、负责人、截止日期、优先级) |
clickup_get_task |
获取任务详情(可选包含子任务) |
clickup_update_task |
更新任意任务字段 |
clickup_attach_task_file |
为任务附加文件(URL 或 base64) |
clickup_add_tag_to_task |
为任务添加标签 |
clickup_remove_tag_from_task |
从任务移除标签 |
| 工具 | 描述 |
|---|---|
clickup_get_task_comments |
获取任务的所有评论 |
clickup_create_task_comment |
添加评论(支持 @提及) |
| 工具 | 描述 |
|---|---|
clickup_start_time_tracking |
在任务上启动计时器 |
clickup_stop_time_tracking |
停止活动计时器 |
clickup_add_time_entry |
手动记录时间 |
clickup_get_task_time_entries |
获取任务的时间记录 |
clickup_get_current_time_entry |
检查活动计时器 |
| 工具 | 描述 |
|---|---|
clickup_get_workspace_hierarchy |
获取完整结构(空间、文件夹、列表) |
clickup_create_list |
在空间中创建列表 |
clickup_create_list_in_folder |
在文件夹中创建列表 |
clickup_get_list |
获取列表详情 |
clickup_update_list |
更新列表设置 |
clickup_create_folder |
在空间中创建文件夹 |
clickup_get_folder |
获取文件夹详情 |
clickup_update_folder |
更新文件夹设置 |
| 工具 | 描述 |
|---|---|
clickup_get_workspace_members |
列出所有工作区成员 |
clickup_find_member_by_name |
按姓名/邮箱查找成员 |
clickup_resolve_assignees |
从姓名获取用户 ID |
| 工具 | 描述 |
|---|---|
clickup_get_chat_channels |
列出所有聊天频道 |
clickup_send_chat_message |
向频道发送消息 |
| 工具 | 描述 |
|---|---|
clickup_create_document |
创建新文档 |
clickup_list_document_pages |
获取文档结构 |
clickup_get_document_pages |
获取页面内容 |
clickup_create_document_page |
向文档添加页面 |
clickup_update_document_page |
编辑页面内容 |
mcporter call 'clickup.clickup_search(
keywords: "Q4 marketing",
count: 10
)'
mcporter call 'clickup.clickup_create_task(
name: "Review PR #42",
list_id: "901506994423",
description: "Check the new feature",
status: "to do"
)'
mcporter call 'clickup.clickup_update_task(
task_id: "abc123",
status: "in progress"
)'
mcporter call 'clickup.clickup_create_task_comment(
task_id: "abc123",
comment_text: "@Mark can you review this?"
)'
# 启动计时器
mcporter call 'clickup.clickup_start_time_tracking(
task_id: "abc123",
description: "Working on feature"
)'
# 停止计时器
mcporter call 'clickup.clickup_stop_time_tracking()'
# 手动记录时间 (时长单位:毫秒,例如 2h = 7200000)
mcporter call 'clickup.clickup_add_time_entry(
task_id: "abc123",
start: "2026-01-06 10:00",
duration: "2h",
description: "Code review"
)'
mcporter call 'clickup.clickup_get_workspace_hierarchy(limit: 10)'
# 列出频道
mcporter call 'clickup.clickup_get_chat_channels()'
# 发送消息
mcporter call 'clickup.clickup_send_chat_message(
channel_id: "channel-123",
content: "Team standup in 5 minutes!"
)'