项目简介

Xray MCP 集成服务器是一个基于 Model Context Protocol (MCP) 的应用后端,旨在将 Xray Cloud 的 GraphQL API 能力集成到 LLM (大语言模型) 客户端(如 Claude Code)中。通过这个服务器,LLM 客户端可以调用一系列工具来管理 Xray Cloud 中的测试用例、测试执行、测试计划和测试集,从而实现智能化的测试管理、CI/CD 集成和自动化。

主要功能点

  • 测试用例管理:
    • 创建、获取、删除测试用例。
    • 使用 JQL (Jira 查询语言) 搜索测试用例,或获取项目中所有测试用例。
    • 支持更新测试用例的部分字段(如概要、描述、标签、优先级,但复杂字段需通过 Jira REST API)。
  • 测试执行管理:
    • 创建新的测试执行,将测试用例组织起来进行运行。
    • 获取特定测试执行的详细信息,包括所有测试运行的状态。
    • 使用 JQL 搜索测试执行,或获取项目中所有测试执行。
    • 更新测试运行的状态(例如:PASS, FAIL, EXECUTING 等),支持 CI/CD 自动化集成。
  • 测试计划管理:
    • 创建新的测试计划,用于组织和规划测试活动。
    • 获取特定测试计划的详细信息。
    • 使用 JQL 搜索测试计划,或获取项目中所有测试计划。
    • 向现有测试计划添加或移除测试用例。
  • 测试集管理:
    • 创建新的测试集,用于对相关测试用例进行分组。
    • 获取特定测试集的详细信息。
    • 使用 JQL 搜索测试集,或获取项目中所有测试集。
    • 向现有测试集添加或移除测试用例。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/c4m3lblue-star/xray-mcp.git
    cd xray-mcp
  2. 安装依赖:
    npm install
  3. 编译项目:
    npm run build
  4. 获取 Xray API 凭据:
    • 访问 'https://xray.cloud.getxray.app/'。
    • 导航到 SettingsAPI Keys
    • 点击 Create API Key 并复制生成的 Client IDClient Secret

服务器配置 (用于 MCP 客户端)

MCP 客户端(如 Claude Code)需要配置此服务器的启动命令。以下是一个 JSON 格式的配置示例,您需要将以下内容添加到您的 MCP 客户端配置文件(例如 macOS 上的 '~/Library/Application Support/Claude/claude_desktop_config.json')中。请根据您的实际情况替换路径和凭据。

{
  "mcpServers": {
    "xray": {
      "command": "node",
      "args": ["/path/to/xray-mcp/dist/index.js"],
      "env": {
        "XRAY_CLIENT_ID": "你的Xray客户端ID",
        "XRAY_CLIENT_SECRET": "你的Xray客户端密钥"
      }
    }
  }
}
  • 将 '/path/to/xray-mcp' 替换为 'xray-mcp' 项目的绝对路径(例如:'/Users/youruser/repositories/xray-mcp')。
  • 将 '"你的Xray客户端ID"' 替换为您在 Xray Cloud 获取的实际 Client ID。
  • 将 '"你的Xray客户端密钥"' 替换为您在 Xray Cloud 获取的实际 Client Secret。

基本使用方法

一旦 MCP 服务器配置并启动成功,您的 LLM 客户端(如 Claude Code)就可以发现并调用上述所有 Xray 管理工具。您可以通过自然语言向 LLM 提出请求,例如:

  • "请帮我在项目 ABC 中创建一个名为 '验证登录功能' 的手动测试用例。"
  • "查询项目 PROJ 中所有在过去7天内创建的测试执行。"
  • "将测试运行 ID 为 '5acc7ab0a3fe1b6fcdc3c737' 的状态更新为 'PASS'。"
  • "获取测试用例键为 'ABC-123' 的详细信息。"

信息

分类

开发者工具