使用说明

项目简介

MCP-Allure Server 是一款基于 Model Context Protocol (MCP) 构建的服务器,旨在将传统的 Allure 测试报告转换为 LLM (大型语言模型) 友好的 JSON 格式。这使得 AI 模型能够更好地理解和分析测试结果,从而辅助开发团队进行更高效的测试分析和维护工作。

主要功能点

  • Allure 报告解析: 能够读取 Allure HTML 报告,并将其中的测试套件、测试用例、步骤、附件等信息解析为结构化的 JSON 数据。
  • MCP 工具: 提供名为 'get_allure_report' 的 MCP 工具,允许 MCP 客户端通过调用该工具获取指定 Allure 报告目录的 JSON 数据。
  • LLM 友好格式: 输出的 JSON 数据结构清晰,字段命名语义化,方便 LLM 理解和处理,用于生成测试总结、分析失败模式、建议修复方案等。

安装步骤

  1. 环境准备: 确保已安装 Python 和包管理器,例如 'uv' (推荐,根据仓库 'README.md' 建议)。
  2. 无需额外安装: 该仓库本身不提供安装步骤,因为它更像是一个可以直接运行的 MCP 服务器实现。您需要下载或克隆该仓库到本地。

服务器配置

MCP 客户端需要配置以下 JSON 格式信息以连接到 MCP-Allure Server。请注意,这里的配置是告诉 MCP 客户端如何启动和连接到 'mcp-allure-server.py' 这个服务器程序。

{
  "mcpServers": {
    "mcp-allure-server": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/path/to/mcp-allure-server.py"  // 请替换为 mcp-allure-server.py 文件的实际路径
      ]
    }
  }
}

配置参数说明:

  • '"mcpServers"': 定义 MCP 服务器的集合。
  • '"mcp-allure-server"': 为该 MCP 服务器自定义的名称,MCP 客户端通过此名称引用。
  • '"command"': 启动服务器的命令,这里使用 'uv' 包管理器。
  • '"args"': 传递给 'uv' 命令的参数列表:
    • '"run"': 'uv run' 命令用于运行 Python 脚本。
    • '"--with"': 指定运行环境,'"mcp[cli]"' 表示使用安装了 'mcp' 及其命令行工具的环境。
    • '"mcp"': 调用 'mcp' 命令行工具。
    • '"run"': 'mcp run' 命令用于启动 MCP 服务器。
    • '"/path/to/mcp-allure-server.py"': 需要用户替换为 'mcp-allure-server.py' 文件在您本地文件系统中的绝对路径。 例如,如果您的 'mcp-allure-server.py' 文件在 '/Users/yourname/mcp-allure/mcp-allure-server.py',则应替换为 '/Users/yourname/mcp-allure/mcp-allure-server.py'。

基本使用方法

  1. 启动 MCP-Allure Server: MCP 客户端根据上述配置启动 'mcp-allure-server'。服务器将在标准输入/输出 (stdio) 上运行并等待客户端请求。
  2. MCP 客户端调用工具: MCP 客户端可以使用 'get_allure_report' 工具,并提供 Allure HTML 报告的目录路径作为参数。
  3. 获取 JSON 数据: 服务器将解析指定目录下的 Allure 报告,并将解析后的 JSON 数据作为工具调用的结果返回给 MCP 客户端。

例如,客户端可以请求调用 'get_allure_report' 工具,并传入参数 '{"results_dir": "/path/to/allure-report"}',其中 '/path/to/allure-report' 需要替换为实际的 Allure 报告目录路径。服务器会返回包含测试报告数据的 JSON 字符串。

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "{\"test-suites\": [...]}" // Allure 报告的 JSON 数据
}

注意: 请确保 Allure HTML 报告目录结构完整,包含 'data/suites.json' 和 'data/test-cases' 等必要文件。

信息

分类

开发者工具