使用说明
项目简介
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 理解和处理,用于生成测试总结、分析失败模式、建议修复方案等。
安装步骤
- 环境准备: 确保已安装 Python 和包管理器,例如 'uv' (推荐,根据仓库 'README.md' 建议)。
- 无需额外安装: 该仓库本身不提供安装步骤,因为它更像是一个可以直接运行的 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'。
基本使用方法
- 启动 MCP-Allure Server: MCP 客户端根据上述配置启动 'mcp-allure-server'。服务器将在标准输入/输出 (stdio) 上运行并等待客户端请求。
- MCP 客户端调用工具: MCP 客户端可以使用 'get_allure_report' 工具,并提供 Allure HTML 报告的目录路径作为参数。
- 获取 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' 等必要文件。
信息
分类
开发者工具