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

点击アップ-mcp服务器

作者:imjoshnewton2 星标更新:2025-07-01

项目介绍

clickup-mcp-server:一个用于ClickUp的MCP服务器

概述

这是一个用于与ClickUp API进行交互和自动化的Model Context Protocol服务器。该服务器提供了工具,使AI系统能够读取、创建和更新ClickUp中的任务、列表和空间。

此MCP服务器允许像Claude这样的AI工具与您的ClickUp工作区进行交互,帮助自动化任务管理、项目规划和其他工作流程。

功能

此MCP服务器提供与ClickUp的全面集成,具有以下功能:

任务管理

  • 创建、更新和删除任务
  • 在列表和看板之间移动和复制任务
  • 设置任务属性,包括截止日期、优先级和标签
  • 创建、查看和管理子任务
  • 向任务添加评论和附件
  • 支持单个任务和批量任务操作
  • 根据状态对任务进行分组和过滤

工作区组织

  • 导航和管理工作区、空间、文件夹和列表
  • 创建、更新和删除空间和文件夹
  • 在空间和文件夹内组织列表
  • 查看完整的工区层次结构
  • 使用路径表示法高效地在工区内导航
  • 在空间或文件夹内创建列表

格式化和显示

  • 完整支持任务描述和评论的Markdown
  • 将HTML转换为在ClickUp中正确渲染
  • 格式化显示任务详情、列表和层次结构
  • 增强复杂项目结构的显示

开发者体验

  • 全面的错误处理和验证
  • 清晰一致的API响应
  • 所有工具的详细文档
  • 与Claude和其他AI系统的轻松集成

工具

服务器提供了以下工具来与ClickUp进行交互:

工作区/团队工具

  1. get_workspaces

    • 获取所有工作区/团队
    • 输入:无
    • 返回:带有ID和名称的工作区列表
  2. navigate_workspace

    • 使用路径表示法在工作区层次结构中导航
    • 输入:
      • path(字符串):通过工作区层次结构的路径(team_id/space_name/folder_name/list_name)
    • 返回:目标实体及其完整路径的详细信息

空间工具

  1. get_spaces

    • 获取工作区中的所有空间
    • 输入:
      • workspace_id(字符串):工作区/团队的ID
    • 返回:带有ID和名称的空间列表
  2. create_space

    • 在工作区中创建新的空间
    • 输入:
      • workspace_id(字符串):工作区/团队的ID
      • name(字符串):新空间的名称
    • 返回:创建的空间的详细信息
  3. get_space_hierarchy

    • 获取空间的完整层次结构,包括文件夹和列表
    • 输入:
      • space_id(字符串):空间的ID
    • 返回:空间的完整层次结构

文件夹工具

  1. get_folders

    • 获取空间中的所有文件夹
    • 输入:
      • space_id(字符串):空间的ID
    • 返回:带有ID和名称的文件夹列表
  2. create_folder

    • 在空间中创建新的文件夹
  • 输入:
    • space_id(字符串):空间的ID
    • name(字符串):新文件夹的名称
  • 返回:创建的文件夹的详细信息
  1. update_folder

    • 更新文件夹的名称
    • 输入:
      • folder_id(字符串):要更新的文件夹的ID
      • name(字符串):文件夹的新名称
    • 返回:更新后的文件夹详细信息
  2. delete_folder

    • 删除文件夹
    • 输入:
      • folder_id(字符串):要删除的文件夹的ID
    • 返回:删除确认

列表/看板工具

  1. get_lists

    • 获取空间中的所有列表/看板
    • 输入:
      • space_id(字符串):空间的ID
    • 返回:带有ID和名称的列表/看板列表
  2. create_list

    • 在空间或文件夹中创建新的列表/看板
    • 输入:
      • space_id(字符串):空间的ID
      • name(字符串):新列表/看板的名称
      • folder_id(字符串,可选):文件夹的ID(如果在文件夹内创建列表)
    • 返回:创建的列表/看板的详细信息
  3. organize_lists

    • 根据位置(在空间或文件夹内)组织列表
    • 输入:
      • space_id(字符串):空间的ID
      • folder_id(字符串,可选):特定文件夹的ID
    • 返回:按其包含文件夹组织的列表

任务工具

  1. get_tasks
  • 获取列表/看板中的所有任务
  • 输入:
    • list_id(字符串):列表/看板的ID
  • 返回:带有ID、名称和其他详细信息的任务列表
  1. get_tasks_by_status

    • 获取列表/看板中具有特定状态的任务
    • 输入:
      • list_id(字符串):列表/看板的ID
      • status(字符串):用于筛选任务的状态
    • 返回:具有指定状态的任务列表
  2. create_task

    • 在列表/看板中创建新的任务
    • 输入:
      • list_id(字符串):列表/看板的ID
      • name(字符串):任务的名称
      • description(字符串,可选):任务描述
      • priority(数字,可选):任务优先级(1-4)
      • due_date(数字,可选):任务截止日期(毫秒)
      • tags(字符串数组,可选):要添加到任务的标签名称列表
    • 返回:创建的任务的详细信息
  3. get_task

    • 获取特定任务的详细信息
    • 输入:
      • task_id(字符串):任务的ID
    • 返回:任务的完整详细信息,包括描述、状态等
  4. update_task

    • 更新任务的属性
    • 输入:
      • task_id(字符串):任务的ID
      • name(字符串,可选):任务的新名称
      • description(字符串,可选):任务的新描述
      • priority(数字,可选):任务的新优先级(1-4)
      • due_date(数字,可选):任务的新截止日期(毫秒)
      • tags(字符串数组,可选):任务的新标签名称列表
    • 返回:更新后的任务详细信息
  5. update_task_status

    • 更新任务的状态
    • 输入:
      • task_id(字符串):任务的ID
      • status(字符串):任务的新状态
    • 返回:更新后的任务详细信息
  6. assign_task

    • 将用户分配给任务
    • 输入:
      • task_id(字符串):任务的ID
      • assignee_ids(字符串数组):要分配给任务的用户ID列表
    • 返回:分配确认
  7. get_task_subtasks

    • 获取任务的子任务
    • 输入:
      • task_id(字符串):任务的ID
    • 返回:带有详细信息的子任务列表
  8. delete_task

    • 删除任务
    • 输入:
      • task_id(字符串):要删除的任务的ID
    • 返回:删除确认
  9. move_task

    • 将任务移动到不同的列表/看板
    • 输入:
      • task_id(字符串):要移动的任务的ID
      • list_id(字符串):目标列表/看板的ID
    • 返回:更新后的任务详细信息
  10. duplicate_task

    • 复制任务,可选择复制到不同的列表/看板
    • 输入:
      • task_id(字符串):要复制的任务的ID
      • list_id(字符串,可选):目标列表/看板的ID
    • 返回:复制的任务的详细信息
  11. create_subtask

    • 为父任务创建子任务
    • 输入:
      • parent_task_id(字符串):父任务的ID
      • name(字符串):子任务的名称
      • description(字符串,可选):子任务的描述
      • priority(数字,可选):子任务的优先级(1-4)
      • due_date(数字,可选):子任务的截止日期(毫秒)
      • tags(字符串数组,可选):子任务的标签名称列表
    • 返回:创建的子任务的详细信息
  12. add_comment

    • 向任务添加评论
    • 输入:
      • task_id(字符串):任务的ID
      • comment_text(字符串):评论的文本内容
    • 返回:添加的评论的详细信息
  13. add_attachment

    • 通过URL向任务添加附件
    • 输入:
      • task_id(字符串):任务的ID
      • attachment_url(字符串):要添加的附件的URL
    • 返回:添加的附件的详细信息
  14. bulk_update_tasks

    • 一次性更新列表中的多个任务
    • 输入:
      • list_id(字符串):包含任务的列表/看板的ID
      • task_ids(字符串数组):要更新的任务ID列表
      • name(字符串,可选):所有任务的新名称
      • description(字符串,可选):所有任务的新描述
      • status(字符串,可选):所有任务的新状态
      • priority(数字,可选):所有任务的新优先级(1-4)
      • due_date(数字,可选):所有任务的新截止日期(毫秒)
      • tags(字符串数组,可选):所有任务的新标签名称列表
    • 返回:批量更新确认
  15. bulk_delete_tasks

    • 一次性删除多个任务
    • 输入:
      • task_ids(字符串数组):要删除的任务ID列表
    • 返回:批量删除确认

自定义字段工具

  1. get_custom_fields

    • 获取列表/看板的所有自定义字段
    • 输入:
      • list_id(字符串):列表/看板的ID
    • 返回:带有ID、名称、类型和配置的自定义字段列表
  2. set_custom_field_value

    • 使用字段ID设置任务的自定义字段值
    • 输入:
      • task_id(字符串):任务的ID
      • field_id(字符串):自定义字段的ID
      • value(任意):要设置的自定义字段值
    • 返回:自定义字段更新确认
  3. set_custom_field_value_by_name

    • 使用字段名称设置任务的自定义字段值
    • 输入:
      • task_id(字符串):任务的ID
      • list_id(字符串):列表的ID(需要找到自定义字段的名称)
      • field_name(字符串):自定义字段的名称
      • value(任意):要设置的自定义字段值
    • 返回:自定义字段更新确认
  4. remove_custom_field_value

    • 从任务中移除自定义字段值
    • 输入:
      • task_id(字符串):任务的ID
      • field_id(字符串):自定义字段的ID
    • 返回:自定义字段移除确认

安装

需求

  • Python 3.10 或更高版本
  • 带有API密钥的ClickUp账户

使用uv(推荐)

当使用uv时不需要特定安装。我们将使用uvx直接运行clickup-mcp-server

uv --directory "/path/to/clickup-mcp-server" run clickup-mcp-server --api-key YOUR_API_KEY

或者使用.env文件(参见配置部分)。

使用PIP

另外,您可以通过pip安装clickup-mcp-server

pip install clickup-mcp-server

安装后,您可以使用以下命令作为脚本运行它:

python -m clickup_mcp_server --api-key YOUR_API_KEY

配置

API密钥

您需要一个ClickUp API密钥才能使用此服务器。您可以在ClickUp API设置中获取一个。

API密钥可以通过两种方式提供:

  1. 命令行参数:--api-key YOUR_API_KEY
  2. .env文件中的环境变量:
    CLICKUP_API_KEY=your_api_key_here
    

与Claude Desktop一起使用

将以下内容添加到您的claude_desktop_config.json中:

<details> <summary>使用uvx</summary>
"mcpServers": {
  "clickup": {
    "command": "uvx",
    "args": ["clickup-mcp-server", "--api-key", "YOUR_API_KEY"]
  }
}
</details> <details> <summary>使用Docker</summary>
"mcpServers": {
  "clickup": {
    "command": "docker",
    "args": ["run", "--rm", "-i", "-e", "CLICKUP_API_KEY=YOUR_API_KEY", "mcp/clickup"]
  }
}
</details> <details> <summary>使用pip安装</summary>
"mcpServers": {
  "clickup": {
    "command": "python",
    "args": ["-m", "clickup_mcp_server", "--api-key", "YOUR_API_KEY"]
  }
}
</details>

与VS Code一起使用

对于手动安装,将以下JSON块添加到VS Code的用户设置(JSON)文件中。您可以通过按下Ctrl + Shift + P并键入Preferences: Open Settings (JSON)来执行此操作。

可选地,您可以将其添加到名为.vscode/mcp.json的工作区文件中。这将允许您与其他人员共享配置。

注意:.vscode/mcp.json文件中不需要mcp键。

{
  "mcp": {
    "servers": {
      "clickup": {
        "command": "uvx",
        "args": ["clickup-mcp-server"],
        "env": {
          "CLICKUP_API_KEY": "YOUR_API_KEY"
        }
      }
    }
  }
}

对于Docker安装:

{
  "mcp": {
    "servers": {
      "clickup": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "-e", "CLICKUP_API_KEY=YOUR_API_KEY",
          "mcp/clickup"
        ]
      }
    }
  }
}

Zed一起使用

将以下内容添加到您的Zed设置.json中:

<details> <summary>使用uvx</summary>
"context_servers": [
  "mcp-server-clickup": {
    "command": {
      "path": "uvx",
      "args": ["clickup-mcp-server"]
    },
    "env": {
      "CLICKUP_API_KEY": "YOUR_API_KEY"
    }
  }
],
</details> <details> <summary>使用pip安装</summary>
"context_servers": {
  "mcp-server-clickup": {
    "command": {
      "path": "python",
      "args": ["-m", "clickup_mcp_server"]
    },
    "env": {
      "CLICKUP_API_KEY": "YOUR_API_KEY"
    }
  }
},
</details>

示例用例

使用Claude进行任务管理

Claude可以帮助您管理ClickUp任务:

  1. 创建任务计划: 请求Claude根据ClickUp中的特定任务生成计划。Claude将:

    • 通过名称或ID查找任务
    • 分析其描述和子任务
    • 生成完成任务的结构化计划
  2. 任务自动化: 对于包含代码相关指令的任务,Claude可以:

    • 从ClickUp获取任务详细信息
    • 将任务状态更新为“正在进行”
    • 根据任务要求实现代码
    • 在完成子任务时勾选它们
    • 当完成时将状态更新为“准备审核”
  3. 任务报告: 请求Claude生成具有特定状态的任务摘要:

    • 获取所有标记为“正在进行”的任务
    • 编写带有完成估计的状态报告
    • 为障碍或依赖项创建新任务
  4. 自定义字段管理: Claude可以与自定义字段合作以增强您的工作流:

    • 列出项目中的所有自定义字段以查看可用元数据
    • 在创建PR时设置自定义字段值,如“GitHub拉取请求URL”
    • 更新项目跟踪字段,如“冲刺”、“故事点”或“优先级”
    • 示例:“为此分支创建一个PR,并将GitHub URL添加到相关ClickUp任务的‘GitHub拉取请求URL’自定义字段中”

调试

使用-v-vv标志增加服务器的详细程度:

uvx clickup-mcp-server -vv

您可以使用MCP检查器来调试服务器:

npx @modelcontextprotocol/inspector uvx clickup-mcp-server

开发

设置开发环境

  1. 克隆仓库:
    git clone https