返回市场
魅力全息

魅力全息

作者:crisschan7 星标更新:2025-10-27

项目介绍

MCP-Allure

MCP-Allure 是一个读取 Allure 报告并将其转换为适合大型语言模型(LLM)使用的格式的 MCP 服务器。

动机

随着人工智能和大型语言模型(LLMs)在软件开发中变得越来越重要,需要弥合传统测试报告与AI辅助分析之间的差距。虽然传统的 Allure 测试报告格式是可读的,但它们并未针对 LLM 的消费和处理进行优化。

MCP-Allure 通过将 Allure 测试报告转换为适合 LLM 使用的格式来解决这一挑战。这种转换使 AI 模型能够更好地理解、分析并提供关于测试结果的见解,从而更容易实现以下目标:

  • 生成有意义的测试总结和见解
  • 发现测试失败的模式
  • 建议可能的修复方案以解决测试失败问题
  • 实现更有效的AI辅助调试
  • 促进自动化测试文档的生成

通过优化测试报告以供 LLM 消费,MCP-Allure 帮助开发团队充分利用其测试工作流程中的AI工具,从而实现更高效和智能的测试分析和维护。

解决的问题

  • 效率:传统的测试报告格式未针对AI消费进行优化,导致测试分析和维护效率低下。
  • 准确性:AI模型在解释和分析未针对AI消费优化的测试报告时可能会遇到困难。
  • 成本:将测试报告转换为适合 LLM 使用的格式可能会耗费时间和金钱。

主要特性

  • 转换:将 Allure 测试报告转换为适合 LLM 使用的格式。
  • 优化:优化测试报告以供 AI 消费。
  • 效率:高效地转换测试报告。
  • 成本:低成本地转换测试报告。
  • 准确性:高精度地转换测试报告。

安装

使用 uv 安装 mcp-repo2llm:

{
  "mcpServers": {
    "mcp-allure-server": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/Users/crisschan/workspace/pyspace/mcp-allure/mcp-allure-server.py"
      ]
    }
  }
}

工具

get_allure_report

  • 读取 Allure 报告并返回 JSON 数据
  • 输入:
    • report_dir: Allure HTML 报告路径
  • 返回:
    • 字符串,格式化的 JSON 数据,如下所示:
{
    "test-suites": [
        {
            "name": "测试套件名称",
            "title": "套件标题",
            "description": "套件描述",
            "status": "passed",
            "start": "时间戳",
            "stop": "时间戳",
            "test-cases": [
                {
                    "name": "测试用例名称",
                    "title": "用例标题",
                    "description": "用例描述",
                    "severity": "normal",
                    "status": "passed",
                    "start": "时间戳",
                    "stop": "时间戳",
                    "labels": [

                    ],
                    "parameters": [

                    ],
                    "steps": [
                        {
                            "name": "步骤名称",
                            "title": "步骤标题",
                            "status": "passed",
                            "start": "时间戳",
                            "stop": "时间戳",
                            "attachments": [

                            ],
                            "steps": [

                            ]
                        }
                    ]
                }
            ]
        }
    ]
}