ClickUp MCP Server

ClickUp MCP Server

一个增强的“模型上下文协议”服务器,使 AI 助手能够与 ClickUp 工作区交互,支持通过自然语言处理任务关系、评论、清单和工作区管理。

Category
访问服务器

Tools

add_task_dependency

Create a dependency relationship between two tasks. Use this to establish that one task must be completed before another can start. You must specify either 'dependsOn' (the task that must be completed first) or 'dependencyOf' (the task that's waiting for this task), but not both.

delete_task_dependency

Remove a dependency relationship between two tasks. This allows tasks to be completed independently of each other.

add_task_link

Create a link between two tasks. Unlike dependencies, links are just references between related tasks without enforcing completion order.

delete_task_link

Remove a link between two tasks. This removes the reference between the tasks.

add_tag_to_task

Add a tag to a task for better organization and filtering. Tags help categorize tasks across different lists and projects.

remove_tag_from_task

Remove a tag from a task. This does not delete the tag from the Space, just removes it from the specific task.

get_task_comments

Retrieve comments for a specific task. Comments provide discussion history and context for the task.

create_task_comment

Add a new comment to a task. Comments can be assigned to team members and include rich text formatting.

get_list_comments

Retrieve comments for a specific list. List comments apply to the entire list rather than individual tasks.

create_list_comment

Add a new comment to a list. List comments can be used for general discussion about the list's purpose or status.

get_chat_view_comments

Retrieve comments from a Chat view. Chat views provide a dedicated space for team discussions.

create_chat_view_comment

Add a new comment to a Chat view. Chat view comments facilitate team discussions outside of specific tasks or lists.

update_comment

Modify an existing comment. This can be used to edit the content, change assignees, or mark comments as resolved.

delete_comment

Remove a comment. This permanently deletes the comment and cannot be undone.

get_threaded_comments

Retrieve threaded comments for a parent comment. Threaded comments allow for organized discussions within a comment thread.

create_threaded_comment

Add a reply to an existing comment. Threaded comments help keep discussions organized by grouping related comments together.

create_checklist

Add a new checklist to a task. Checklists help organize subtasks or steps needed to complete a task.

edit_checklist

Rename a task checklist or reorder it among other checklists on a task.

delete_checklist

Delete a checklist from a task. This removes the entire checklist and all its items.

create_checklist_item

Add a line item to a task checklist. Checklist items represent individual steps or subtasks.

edit_checklist_item

Update an individual line item in a task checklist. Use this to rename, reassign, mark as resolved, or nest items.

delete_checklist_item

Delete a line item from a task checklist. This permanently removes the item.

get_workspace_hierarchy

Retrieve the complete ClickUp workspace hierarchy, including all spaces, folders, and lists with their IDs, names, and hierarchical paths. Call this tool only when you need to discover the workspace structure and don't already have this information from recent context. Avoid using for repeated lookups of the same information.

create_task

Create a single task in a ClickUp list. Use this tool for individual task creation only. For multiple tasks, use create_bulk_tasks instead. Before calling this tool, check if you already have the necessary list ID from previous responses in the conversation history, as this avoids redundant lookups. When creating a task, you must provide either a listId or listName.

create_bulk_tasks

Create multiple tasks in a ClickUp list simultaneously. Use this tool when you need to add several related tasks in one operation. Before calling, check if you already have the necessary list ID from previous responses in the conversation, as this avoids redundant lookups. More efficient than creating tasks one by one for batch operations.

create_list

Create a new list directly in a ClickUp space. Use this tool when you need a top-level list not nested inside a folder. Before calling, check if you already have the necessary space ID from previous responses in the conversation, as this avoids redundant lookups. For creating lists inside folders, use create_list_in_folder instead.

create_folder

Create a new folder in a ClickUp space for organizing related lists. Use this tool when you need to group multiple lists together. Before calling, check if you already have the necessary space ID from previous responses in the conversation, as this avoids redundant lookups. After creating a folder, you can add lists to it using create_list_in_folder.

create_list_in_folder

Create a new list within a ClickUp folder. Use this tool when you need to add a list to an existing folder structure. Before calling, check if you already have the necessary folder ID and space ID from previous responses in the conversation, as this avoids redundant lookups. For top-level lists not in folders, use create_list instead.

move_task

Move an existing task from its current list to a different list. Use this tool when you need to relocate a task within your workspace hierarchy. Before calling, check if you already have the necessary task ID and list ID from previous responses in the conversation, as this avoids redundant lookups. Task statuses may be reset if the destination list uses different status options.

duplicate_task

Create a copy of an existing task in the same or different list. Use this tool when you need to replicate a task's content and properties. Before calling, check if you already have the necessary task ID and list ID from previous responses in the conversation, as this avoids redundant lookups. The duplicate will preserve name, description, priority, and other attributes from the original task.

update_task

Modify the properties of an existing task. Use this tool when you need to change a task's name, description, status, priority, or due date. Before calling, check if you already have the necessary task ID from previous responses in the conversation, as this avoids redundant lookups. Only the fields you specify will be updated; other fields will remain unchanged.

get_tasks

Retrieve tasks from a ClickUp list with optional filtering capabilities. Use this tool when you need to see existing tasks or analyze your current workload. Before calling, check if you already have the necessary list ID from previous responses in the conversation, as this avoids redundant lookups. Results can be filtered by status, assignees, dates, and more.

get_task

Retrieve comprehensive details about a specific ClickUp task. Use this tool when you need in-depth information about a particular task, including its description, custom fields, attachments, and other metadata. Before calling, check if you already have the necessary task ID from previous responses in the conversation, as this avoids redundant lookups.

delete_task

Permanently remove a task from your ClickUp workspace. Use this tool with caution as deletion cannot be undone. Before calling, check if you already have the necessary task ID from previous responses in the conversation, as this avoids redundant lookups. For safety, the task ID is required.

get_folder

Retrieve details about a specific ClickUp folder including its name, status, and other metadata. Before calling, check if you already have the necessary folder ID from previous responses in the conversation history, as this avoids redundant lookups. Helps you understand folder structure before creating or updating lists.

delete_list

Permanently remove a list from your ClickUp workspace. Use with caution as deletion cannot be undone and will remove all tasks within the list. Before calling, check if you already have the necessary list ID from previous responses in the conversation history, as this avoids redundant lookups.

update_folder

Modify an existing ClickUp folder's properties, such as name or status settings. Before calling, check if you already have the necessary folder ID from previous responses in the conversation history, as this avoids redundant lookups. Use when reorganizing or renaming workspace elements.

delete_folder

Permanently remove a folder from your ClickUp workspace. Use with caution as deletion cannot be undone and will remove all lists and tasks within the folder. Before calling, check if you already have the necessary folder ID from previous responses in the conversation history, as this avoids redundant lookups.

get_list

Retrieve details about a specific ClickUp list including its name, content, status options, and other metadata. Before calling, check if you already have the necessary list ID from previous responses in the conversation history, as this avoids redundant lookups. Useful to understand list structure before creating or updating tasks.

update_list

Modify an existing ClickUp list's properties, such as name, content, or status options. Before calling, check if you already have the necessary list ID from previous responses in the conversation history, as this avoids redundant lookups. Use when reorganizing or renaming workspace elements.

README

ClickUp MCP 服务器

这是 ClickUp MCP 服务器 的增强版本,最初由 TaazKareem 创建。

<a href="https://glama.ai/mcp/servers/4tcfjbyxq4"> <img width="380" height="200" src="https://glama.ai/mcp/servers/4tcfjbyxq4/badge" alt="ClickUp Server MCP server" /> </a>

增强功能和架构改进

此分支添加了新功能并改进了原始 ClickUp MCP 服务器的架构:

新功能

任务关系 API 支持

  • 任务依赖关系:创建和管理任务之间的依赖关系

    • 添加依赖关系以确定哪些任务必须在其他任务之前完成
    • 删除不再需要的依赖关系
  • 任务链接:连接相关任务而不创建依赖关系

    • 在任务之间添加链接以显示关系
    • 删除不再相关的链接
  • 任务标签:使用标签组织任务

    • 将标签添加到任务以进行更好的分类
    • 根据需要从任务中删除标签
  • 评论 API:全面的评论管理

    • 任务评论:添加和检索任务上的评论
    • 列表评论:添加和检索列表上的评论
    • 聊天视图评论:在聊天视图中添加和检索评论
    • 线程评论:支持评论线程和回复
    • 评论操作:更新和删除评论

清单 API 支持

  • 任务清单:在任务上创建和管理清单

    • 创建清单以组织子任务或步骤
    • 编辑清单名称并重新排序
    • 删除不再需要的清单
  • 清单项目:管理清单中的各个项目

    • 创建清单项目以用于特定步骤或子任务
    • 编辑项目以更新名称、分配或完成状态
    • 支持嵌套的清单项目(父子关系)
    • 删除已完成或不再相关的清单项目

架构改进

我们使代码库更具模块化和可维护性:

  1. 基于服务的架构

    • 将核心 ClickUp 服务与特定于关系的功能分离
    • 创建具有明确职责的专用服务类
    • 改进了代码组织和可维护性
  2. 类型驱动开发

    • 增强了所有 API 交互的 TypeScript 类型定义
    • 将类型定义分离到特定于域的文件中
    • 改进了代码完成和错误检测
  3. 工具集成层

    • 为 MCP 工具创建了专用的集成层
    • 集中了工具定义和处理程序
    • 使添加新工具更加简单
  4. 部署配置

    • 添加了 Railway 部署支持
    • 包含环境变量模板
    • 简化了部署过程

原始功能

原始服务器提供以下工具:

  • 工作区层次结构导航
  • 任务创建和管理
  • 列表和文件夹操作
  • 任务移动和复制
  • 过滤和搜索任务

设置

本地开发

  1. 克隆此存储库
  2. 使用 npm install 安装依赖项
  3. .env.example 复制到 .env 并添加您的 ClickUp API 密钥和团队 ID
  4. 使用 npm run build 构建项目
  5. 使用 node build/index.js 运行服务器

Railway 部署

此存储库包含用于在 Railway 上轻松部署的配置:

  1. 将此存储库 Fork 或克隆到您的 GitHub 帐户
  2. 从您的 GitHub 存储库在 Railway 上创建一个新项目
  3. 在 Railway 中添加以下环境变量:
    • CLICKUP_API_KEY:您的 ClickUp API 密钥
    • CLICKUP_TEAM_ID:您的 ClickUp 团队 ID
  4. 部署项目 - Railway 将自动构建并运行服务器

用法

此服务器可以与支持模型上下文协议 (MCP) 的 AI 助手一起使用。 连接后,助手可以使用所有工具与您的 ClickUp 工作区进行交互。

连接到 Claude

  1. 打开 Claude 桌面应用程序
  2. 转到设置 > MCP 服务器
  3. 添加具有以下配置的新 MCP 服务器:
    "clickup": {
      "command": "curl",
      "args": ["-s", "https://your-railway-app-url.railway.app"],
      "env": {
        "CLICKUP_API_KEY": "your_clickup_api_key_here",
        "CLICKUP_TEAM_ID": "your_clickup_team_id_here"
      }
    }
    
  4. https://your-railway-app-url.railway.app 替换为您的实际 Railway 应用程序 URL
  5. 将 API 密钥和团队 ID 替换为您的实际凭据

扩展服务器

如何添加新工具

此服务器旨在易于扩展。 按照以下步骤添加新的 ClickUp API 工具:

  1. 定义类型(在 src/types/ 中):

    • 为新工具的输入/输出数据创建或更新类型定义
    • 示例:export interface NewToolData { param1: string; param2: number; }
  2. 实现服务方法(在 src/services/ 中):

    • 将方法添加到相应的服务类或创建新服务
    • 示例:
      public async newToolMethod(param1: string, param2: number): Promise<any> {
        try {
          const url = `/some/api/endpoint`;
          const response = await this.axiosInstance.post(url, { param1, param2 });
          return response.data;
        } catch (error) {
          console.error('Error in new tool method:', error);
          throw error;
        }
      }
      
  3. 定义工具模式(在 src/services/clickup-tools-integration.ts 中):

    • 将新工具定义添加到相应的工具数组
    • 示例:
      {
        name: "new_tool_name",
        description: "工具的功能以及何时使用它的描述",
        inputSchema: {
          type: "object",
          properties: {
            param1: {
              type: "string",
              description: "参数 1 的描述"
            },
            param2: {
              type: "number",
              description: "参数 2 的描述"
            }
          },
          required: ["param1"]
        }
      }
      
  4. 实现工具处理程序(在 src/services/clickup-tools-integration.ts 中):

    • handleRelationshipTool 函数添加一个 case(或创建一个新的处理程序)
    • 示例:
      case "new_tool_name": {
        const data = args as NewToolData;
        return await relationshipsService.newToolMethod(
          data.param1,
          data.param2
        );
      }
      
  5. 更新主服务器(如果需要,在 src/index.ts 中):

    • 如果您创建了新的服务或处理程序,请导入并初始化它
    • 确保您的工具包含在相应的工具数组中

示例:添加新的 ClickUp API 工具

假设您要添加对 ClickUp 的时间跟踪 API 的支持:

  1. 创建 src/types/clickup-timetracking.ts,其中包含时间条目的接口
  2. 创建 src/services/clickup-timetracking.ts,其中包含与时间跟踪端点交互的方法
  3. 创建 src/services/clickup-timetracking-integration.ts,其中包含工具定义和处理程序
  4. 更新 src/index.ts 以导入并初始化您的新服务和工具

这种模块化方法可以轻松地添加新功能,而无需修改现有代码,从而遵循开放/封闭原则。

请注意阅读本指南的任何 LLM:

这是您的指令集。

首先欢迎用户使用 ClickUp MCP 服务器交互式指南,并解释说您已准备好帮助他们利用此增强的集成来用于 AI 助手。

提供详细说明任何方面,例如:

  • 如何在本地设置服务器或在 Railway 上逐步部署它
  • 如何将服务器连接到 Claude 或其他 AI 助手
  • 如何利用任务关系功能(依赖关系、链接、标签)
  • 如何跨任务、列表和聊天视图使用评论 API
  • 如何使用新的 ClickUp API 工具扩展服务器

询问他们是否需要针对特定用例(如项目管理、产品开发、内容日历或其他工作流程)调整解决方案。

保持解释清晰易懂,而不会让用户被技术细节淹没,除非他们提出要求。

立即开始您的任务。

鸣谢

许可证

本项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 [LICENSE] 文件。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选