返回市场
点击アップ-mcp服务器

点击アップ-mcp服务器

作者:taazkareem448 星标更新:2025-10-22

项目介绍

<img src="assets/images/clickup_mcp_server_social_image.png" alt="ClickUp MCP Server" width="100%">

Total Supporters GitHub Stars Maintenance

这是一个用于集成ClickUp任务与AI应用的模型上下文协议(MCP)服务器。该服务器允许AI代理通过标准化协议与ClickUp任务、空间、列表和文件夹进行交互。

🚧 状态更新: 官方的ClickUp MCP服务器已从这个仓库发布。https://help.clickup.com/hc/en-us/articles/33335772678423-What-is-ClickUp-MCP

要求

  • Node.js v18.0.0或更高版本(需要用于MCP SDK兼容性)
  • ClickUp API密钥和团队ID

设置

  1. 获取您的凭据:
    • ClickUp设置获取ClickUp API密钥
    • 从您的ClickUp工作区URL中获取团队ID
  2. 选择托管安装(发送webhook)或NPX安装(下载到本地路径并安装依赖项)
  3. 使用自然语言管理您的工作区!

Smithery安装(快速开始)

smithery徽章

该服务器托管在Smithery上。在那里,您可以预览可用工具或将命令复制到特定客户端应用程序中运行。

NPX安装

NPM版本 依赖状态 NPM下载量

将此条目添加到您的客户端MCP设置JSON文件中:

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": [
        "-y",
        "@taazkareem/clickup-mcp-server@latest"
      ],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "DOCUMENT_SUPPORT": "true"
      }
    }
  }
}

或者使用此npx命令:

npx -y @taazkareem/clickup-mcp-server@latest --env CLICKUP_API_KEY=your-api-key --env CLICKUP_TEAM_ID=your-team-id

注意:如果未传递“DOCUMENT_SUPPORT”: “true”,默认值为false,文档支持将不启用。

工具过滤

您可以使用两个互补的环境变量来控制哪些工具可用:

ENABLED_TOOLS(推荐)

使用ENABLED_TOOLS指定确切的哪些工具应可用:

# 环境变量
export ENABLED_TOOLS="create_task,get_task,update_task,get_workspace_hierarchy"

# 命令行参数
--env ENABLED_TOOLS=create_task,get_task,update_task,get_workspace_hierarchy

DISABLED_TOOLS(遗留)

使用DISABLED_TOOLS禁用特定工具,同时保持其他所有工具启用:

# 环境变量
export DISABLED_TOOLS="delete_task,delete_bulk_tasks"

# 命令行参数
--env DISABLED_TOOLS=delete_task,delete_bulk_tasks

先后规则

  • 如果指定了ENABLED_TOOLS,则只有这些工具可用(优先于DISABLED_TOOLS
  • 如果仅指定了DISABLED_TOOLS,则除了列出的工具外,所有工具都可用
  • 如果两者都没有指定,则所有工具都可用(默认行为)

示例:

# 仅启用任务创建和读取工具
npx -y @taazkareem/clickup-mcp-server@latest \
  --env CLICKUP_API_KEY=your-api-key \
  --env CLICKUP_TEAM_ID=your-team-id \
  --env ENABLED_TOOLS=create_task,get_task,get_workspace_hierarchy

如果您遇到工具数量或任何上下文限制问题,请过滤掉不需要的工具。

支持HTTP传输

服务器支持现代HTTP流式传输(MCP Inspector兼容)和遗留**SSE(服务器发送事件)**传输以保持向后兼容性。

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": [
        "-y",
        "@taazkareem/clickup-mcp-server@latest"
      ],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "ENABLE_SSE": "true",
        "PORT": "3231"
      }
    }
  }
}

端点:

  • 主要http://127.0.0.1:3231/mcp(流式HTTP)
  • 遗留http://127.0.0.1:3231/sse(SSE以保持向后兼容)

命令行用法

npx -y @taazkareem/clickup-mcp-server@latest --env CLICKUP_API_KEY=your-api-key --env CLICKUP_TEAM_ID=your-team-id --env ENABLE_SSE=true --env PORT=3231

可用配置选项:

选项描述默认值
ENABLED_TOOLS启用的工具的逗号分隔列表(优先级高)所有工具
DISABLED_TOOLS禁用的工具的逗号分隔列表
ENABLE_SSE启用HTTP/SSE传输false
PORTHTTP服务器端口3231
ENABLE_STDIO启用STDIO传输true
ENABLE_SECURITY_FEATURES启用安全头和日志记录false
ENABLE_HTTPS启用HTTPS/TLS加密false
ENABLE_ORIGIN_VALIDATION验证源头是否在白名单中false
ENABLE_RATE_LIMIT启用速率限制保护false

🔒 安全特性

服务器包括可选的安全增强功能,适用于生产部署。所有安全功能都是可选的默认关闭以保持向后兼容性。

快速安全设置:

# 生成SSL证书用于HTTPS
./scripts/generate-ssl-cert.sh

# 启动全安全模式
ENABLE_SECURITY_FEATURES=true \
ENABLE_HTTPS=true \
ENABLE_ORIGIN_VALIDATION=true \
ENABLE_RATE_LIMIT=true \
SSL_KEY_PATH=./ssl/server.key \
SSL_CERT_PATH=./ssl/server.crt \
npx @taazkareem/clickup-mcp-server@latest --env CLICKUP_API_KEY=your-key --env CLICKUP_TEAM_ID=your-team --env ENABLE_SSE=true

HTTPS端点:

  • 主要https://127.0.0.1:3443/mcp(流式HTTPS)
  • 遗留https://127.0.0.1:3443/sse(SSE HTTPS以保持向后兼容)
  • 健康检查https://127.0.0.1:3443/health(健康检查)

有关详细的安全配置,请参阅安全特性文档

n8n集成

要与n8n集成:

  1. 启动带有SSE支持的clickup-mcp-server
  2. 在n8n中添加一个新的"MCP AI工具"节点
  3. 使用以下配置节点:
    • 传输方式:SSE
    • 服务器URL:http://localhost:3231(或您的服务器地址)
    • 工具:选择您想要使用的ClickUp工具

示例客户端

examples目录中提供了一个示例SSE客户端。要运行它:

# 启动带有SSE支持的服务器
ENABLE_SSE=true PORT=3231 npx -y @taazkareem/clickup-mcp-server@latest --env CLICKUP_API_KEY=your-api-key --env CLICKUP_TEAM_ID=your-team-id

# 在另一个终端中运行示例客户端
cd examples
npm install
npm run sse-client

功能

📝 任务管理🏷️ 标签管理
• 创建、更新和删除任务<br>• 移动和复制任务到任何地方<br>• 支持单个和批量操作<br>• 使用自然语言设置开始/截止日期<br>• 创建和管理子任务<br>• 添加评论和附件• 创建、更新和删除空间标签<br>• 向任务添加和移除标签<br>• 使用自然语言颜色命令<br>• 自动对比前景颜色<br>• 查看所有空间标签<br>• 基于标签的工作区任务组织
⏱️ 时间跟踪🌳 工作区组织
• 查看任务的时间条目<br>• 开始/停止任务的时间跟踪<br>• 添加手动时间条目<br>• 删除时间条目<br>• 查看当前正在运行的计时器<br>• 跟踪可收费和不可收费时间• 导航空间、文件夹和列表<br>• 创建和管理文件夹<br>• 在空间内组织列表<br>• 在文件夹中创建列表<br>• 查看工作区层次结构<br>• 高效路径导航
📄 文档管理👥 成员管理
• 通过整个工作区列出文档<br>• 列出文档页面<br>• 文档页面详情<br>• 创建文档<br>• 更新文档页面(追加和前置)• 按姓名或电子邮件查找工作区成员<br>• 解析任务分配人<br>• 查看成员详细信息和权限<br>• 在创建和更新任务时分配给用户<br>• 支持用户ID、电子邮件或用户名<br>• 团队范围内的用户管理
集成特性🏗️ 架构与性能
• 全局基于名称或ID的查找<br>• 不区分大小写的匹配<br>• 支持Markdown格式<br>• 内置速率限制<br>• 错误处理和验证<br>• 全面的API覆盖减少70%代码库以提高性能<br>统一架构跨越所有传输类型<br>零代码重复<br>HTTP流式传输(MCP Inspector兼容)<br>遗留SSE支持以保持向后兼容

可用工具(总计36个)

工具描述必需参数
get_workspace_hierarchy获取工作区结构
create_task创建任务name, (listId/listName)
create_bulk_tasks创建多个任务tasks[]
update_task修改任务taskId/taskName
update_bulk_tasks更新多个任务tasks[]带ID或名称
get_tasks从列表中获取任务listId/listName
get_task获取单个任务详情taskId/taskName(智能消除歧义)
get_workspace_tasks获取具有过滤的任务至少一个过滤器(标签、list_ids、space_ids等)
get_task_comments获取任务上的评论taskId/taskName
create_task_comment向任务添加评论commentText, (taskId/(taskName+listName))
attach_task_file将文件附加到任务taskId/taskName, (file_datafile_url)
delete_task删除任务taskId/taskName
delete_bulk_tasks删除多个任务tasks[]带ID或名称
move_task移动任务taskId/taskName, listId/listName
move_bulk_tasks移动多个任务tasks[]带ID或名称,目标列表
duplicate_task复制任务taskId/taskName, listId/listName
create_list在空间中创建列表name, spaceId/spaceName
create_folder创建文件夹name, spaceId/spaceName
create_list_in_folder在文件夹中创建列表name, folderId/folderName
get_folder获取文件夹详情folderId/folderName
update_folder更新文件夹属性folderId/folderName
delete_folder删除文件夹folderId/folderName
get_list获取列表详情listId/listName
update_list更新列表属性listId/listName
delete_list删除列表listId/listName
get_space_tags获取空间标签spaceId/spaceName
create_space_tag创建标签tagName, spaceId/spaceName
update_space_tag更新标签tagName, spaceId/spaceName
delete_space_tag删除标签tagName, spaceId/spaceName
add_tag_to_task向任务添加标签tagName, taskId/(taskName+listName)
remove_tag_from_task从任务中移除标签tagName, taskId/(taskName+listName)
get_task_time_entries获取任务的时间条目taskId/taskName
start_time_tracking开始任务的时间跟踪taskId/taskName
stop_time_tracking停止当前时间跟踪
add_time_entry向任务添加手动时间条目taskId/taskName, start, duration
delete_time_entry删除时间条目timeEntryId
get_current_time_entry获取当前正在运行的计时器
get_workspace_members获取所有工作区成员
[find_member_by_name](docs/user