任务管理协议服务器

ClickUp MCP服务器是一个提供AI代理访问ClickUp API的模型上下文协议服务器,用于任务管理和工作区操作。

  • by quajodk
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 quajodk/clickup-mcp-server

使用说明

点击MCP服务器

模型上下文协议(MCP)服务器,为AI代理提供对ClickUp的API的访问,用于任务管理和工作空间操作。

特性

  • OAuth2身份验证:使用ClickUp完成OAuth2流,以实现安全的用户身份验证
  • 会话管理:用于生产环境的Redis支持的会话存储
  • 工作空间管理:获取工作区、空间和列表
  • 任务操作:按列表ID或特定任务详细信息获取任务
  • Webhook 支持:为ClickUp事件创建和管理Webhook
  • 用户信息:获取经过身份验证的用户详细信息
  • 许可证管理:自动令牌刷新功能
  • web界面:用于测试OAuth2身份验证的内置web界面

先决条件

  • Node.js 18+
  • 具有API访问权限的ClickUp帐户
  • 单击上OAuth2应用程序凭据

安装

  1. 克隆存储库

  2. 安装依赖项:

    npm install
    
  3. 设置环境变量(请参见 ENV_SETUP.md 详细说明):

    cp .env.example .env
    # Edit .env with your ClickUp API credentials
    

发展

启动开发服务器:

npm run dev

这将启动启用热重新加载的MCP服务器。

建筑

要构建项目,请执行以下操作:

npm run build

MCP工具可用

工作空间和组织

  • getWorkspaces -获取所有工作区(团队)
  • getSpacesByWorkspaceId -为工作区获取空间
  • getListsBySpaceId -获取空间的列表
  • getUser -获取经过身份验证的用户信息

任务管理

  • getTasksByListId -从特定列表中获取任务
  • getTaskById -按ID获取特定任务

网页插件

  • createWebhook -为ClickUp事件创建webhook
  • getWebhooksByWorkspaceId -获取工作区的webhooks

认证

  • refreshToken -刷新ClickUp访问令牌

MCP资源

  • clickup://task/{taskId} -用于获取任务详细信息的动态任务资源

OAuth2身份验证

服务器提供完整的OAuth2身份验证流程:

1.Web界面

访问 http://localhost:8080 访问web界面以测试OAuth2身份验证。

2.身份验证流程

  1. 开始登录:参观 /auth/login 启动OAuth2流
  2. 授权:ClickUp将请求访问您的帐户的权限
  3. 回调:授权后,您将被重定向回服务器
  4. 访问:使用经过身份验证的端点访问您的ClickUp数据

3.可用端点

  • GET /auth/login -启动OAuth2流
  • GET /auth/status -检查身份验证状态
  • GET /auth/user -获取当前用户信息
  • GET /auth/token -获取访问/刷新令牌(受保护)
  • POST /auth/logout -注销并销毁会话

4.会话管理

  • 开发:内存会话存储
  • 生产:Redis支持的会话存储(集 USE_REDIS=true)
  • 需要时自动刷新令牌

用法示例

连接到MCP客户端(如Claude Desktop)后,您可以使用以下工具:

  1. 获取您的工作区:

    Use the getWorkspaces tool to see all your ClickUp workspaces
    
  2. 从列表中获取任务:

    Use getTasksByListId with a specific list ID to fetch tasks
    
  3. 获取任务详细信息:

    Use getTaskById to fetch detailed information about a specific task
    

api参考

服务器与 ClickUp的API v2。所有端点都需要通过OAuth2进行适当的身份验证。

安全

  • 环境变量用于敏感凭据
  • 自动令牌刷新可防止过期令牌问题
  • 所有API调用都包含正确的错误处理

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件。