使用说明

项目简介

禅道任务管理助手是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在作为 LLM 客户端(如 Cursor IDE)的后端,提供对禅道项目管理系统的集成能力。通过该 MCP 服务器,LLM 客户端可以方便地获取禅道中的任务、Bug 信息,并执行如创建、更新、完成任务、解决 Bug 等操作,从而提升在 LLM 环境下进行项目管理的效率。

主要功能点

  • 连接禅道: 允许用户配置并连接到指定的禅道项目管理系统。
  • 任务管理: 提供获取个人任务列表、查询任务详情、更新任务状态(如完成任务)等功能。
  • Bug跟踪: 支持获取个人 Bug 列表、查询 Bug 详情、解决 Bug 等功能。
  • 产品信息: 允许获取禅道中产品列表信息。
  • 配置持久化: 禅道配置信息(如 URL、用户名、密码)会被安全地保存在本地,避免重复配置。
  • 工具集成: 通过 MCP 协议将禅道功能以工具的形式暴露给 LLM 客户端,方便 LLM 调用。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的计算机上已安装 Node.js (>= 14.0.0) 和 npm。
  2. 全局安装 npm 包: 打开终端,运行以下命令全局安装 '禅道任务管理助手' npm 包:
    npm install @bigtian/mcp-zentao -g

服务器配置

为了让 MCP 客户端(例如 Cursor IDE)连接到禅道任务管理助手 MCP 服务器,你需要在客户端的配置文件中添加服务器配置信息。以下是 Cursor IDE 客户端的 'settings.json' 配置文件示例,展示了如何配置 'zentao' 服务器:

{
  "mcpServers": {
    "zentao": {
      "name": "zentao", // MCP 服务器名称,可以自定义
      "command": "zentao", // 启动 MCP 服务器的命令,这里假设 'zentao' 命令已添加到系统 PATH 环境变量
      "args": [], // 启动命令参数,当前配置为空
      "description": "禅道任务管理助手", // 服务器描述,可选
      "enabled": true // 是否启用该服务器,设置为 true 以启用
    }
  }
}

注意:

  • 确保 'zentao' 命令在你的系统 PATH 环境变量中可用。全局安装 npm 包通常会自动处理 PATH 设置。
  • 首次运行 'zentao' 命令时,需要通过命令行参数提供禅道配置信息(URL、用户名、密码等)。配置成功后,配置信息会被保存,后续启动服务器无需再次配置。

基本使用方法

  1. 首次配置禅道信息: 打开终端,运行 'zentao' 命令并传入包含禅道配置信息的 JSON 字符串。例如:

    zentao '{"config":{"url":"https://your-zentao-url","username":"your-username","password":"your-password","apiVersion":"v1"}}'
    • 将 'https://your-zentao-url' 替换为你的禅道系统 URL。
    • 将 'your-username' 和 'your-password' 替换为你的禅道用户名和密码。
    • 配置信息将会保存在用户目录下的 '.zentao/config.json' 文件中。
  2. 启动 MCP 服务器: 在配置完成后,可以直接运行 'zentao' 命令启动 MCP 服务器:

    zentao
    • 服务器默认通过 Stdio 传输协议与 MCP 客户端通信。
    • 启动后,MCP 服务器将在后台运行,等待客户端连接和请求。
  3. 在 MCP 客户端中使用: 在配置好 MCP 服务器后,你可以在 MCP 客户端中 (如 Cursor IDE) 使用预定义的工具来访问和操作禅道数据。具体的工具调用方式取决于 MCP 客户端的界面和操作方法。例如,在 Cursor IDE 中,你可能可以使用 '@zentao.getMyTasks' 工具来获取你的任务列表。

示例工具 (Tool) 调用 (在 MCP 客户端中):

  • 初始化禅道配置 (initZentao): '@zentao.initZentao' (通常首次使用或需要更新配置时调用)
  • 获取我的任务列表 (getMyTasks): '@zentao.getMyTasks' 或 '@zentao.getMyTasks status='doing'' (可选参数 status: 'wait', 'doing', 'done', 'all')
  • 获取任务详情 (getTaskDetail): '@zentao.getTaskDetail taskId=123' (taskId 为任务 ID)
  • 获取产品列表 (getProducts): '@zentao.getProducts'
  • 获取我的 Bug 列表 (getMyBugs): '@zentao.getMyBugs' 或 '@zentao.getMyBugs status='active' productId=1' (可选参数 status: 'active', 'resolved', 'closed', 'all',productId 为产品 ID)
  • 获取 Bug 详情 (getBugDetail): '@zentao.getBugDetail bugId=456' (bugId 为 Bug ID)
  • 更新任务 (updateTask): '@zentao.updateTask taskId=123 update='{"consumed": 2, "comment": "已完成部分工作"}'' (taskId 为任务 ID, update 为 JSON 格式的更新内容)
  • 完成任务 (finishTask): '@zentao.finishTask taskId=123 update='{"comment": "任务已完成"}'' (taskId 为任务 ID, update 为 JSON 格式的更新内容,可选)
  • 解决 Bug (resolveBug): '@zentao.resolveBug bugId=456 resolution='{"resolution": "fixed", "comment": "问题已修复"}'' (bugId 为 Bug ID, resolution 为 JSON 格式的解决方案)

请参考 MCP 客户端的文档,了解如何在客户端中配置和调用 MCP 服务器提供的工具。

信息

分类

开发者工具