Skip to main content
Glama
README.md
# MCP-Allure

MCP-Allure is a MCP server that reads Allure reports and returns them in LLM-friendly formats.

# Motivation

As AI and Large Language Models (LLMs) become increasingly integral to software development, there is a growing need to bridge the gap between traditional test reporting and AI-assisted analysis. Traditional Allure test report formats, while human-readable, aren't optimized for LLM consumption and processing.

MCP-Allure addresses this challenge by transforming Allure test reports into LLM-friendly formats. This transformation enables AI models to better understand, analyze, and provide insights about test results, making it easier to:

- Generate meaningful test summaries and insights
- Identify patterns in test failures
- Suggest potential fixes for failing tests
- Enable more effective AI-assisted debugging
- Facilitate automated test documentation generation

By optimizing test reports for LLM consumption, MCP-Allure helps development teams leverage the full potential of AI tools in their testing workflow, leading to more efficient and intelligent test analysis and maintenance.

# Problems Solved
- **Efficiency**: Traditional test reporting formats are not optimized for AI consumption, leading to inefficiencies in test analysis and maintenance.
- **Accuracy**: AI models may struggle with interpreting and analyzing test reports that are not in a format optimized for AI consumption.
- **Cost**: Converting test reports to LLM-friendly formats can be time-consuming and expensive.

# Key Features
- **Conversion**: Converts Allure test reports into LLM-friendly formats.
- **Optimization**: Optimizes test reports for AI consumption.
- **Efficiency**: Converts test reports efficiently.
- **Cost**: Converts test reports at a low cost.
- **Accuracy**: Converts test reports with high accuracy.

# Installation 

To install mcp-repo2llm using uv:
```
{
  "mcpServers": {
    "mcp-allure-server": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/Users/crisschan/workspace/pyspace/mcp-allure/mcp-allure-server.py"
      ]
    }
  }
}
```
# Tool
##  get_allure_report

- Reads Allure report and returns JSON data
- Input:
  - report_dir: Allure HTML report path
- Return:
  - String, formatted JSON data, like this:
```
{
    "test-suites": [
        {
            "name": "test suite name",
            "title": "suite title",
            "description": "suite description",
            "status": "passed",
            "start": "timestamp",
            "stop": "timestamp",
            "test-cases": [
                {
                    "name": "test case name",
                    "title": "case title",
                    "description": "case description",
                    "severity": "normal",
                    "status": "passed",
                    "start": "timestamp",
                    "stop": "timestamp",
                    "labels": [

                    ],
                    "parameters": [

                    ],
                    "steps": [
                        {
                            "name": "step name",
                            "title": "step title",
                            "status": "passed",
                            "start": "timestamp",
                            "stop": "timestamp",
                            "attachments": [

                            ],
                            "steps": [

                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

```

TDQS

C2.7/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool 'get_allure_report' has a single, clearly defined purpose of reading Allure reports and returning JSON data.

Naming Consistency5/5

The single tool name 'get_allure_report' follows a clear verb_noun pattern (get + report). Since there is only one tool, consistency is inherently perfect with no deviations to assess.

Tool Count2/5

The server has only one tool, which feels thin for a reporting domain like Allure. A single tool for reading reports lacks essential operations such as generating, listing, or managing reports, making it under-scoped for typical use cases.

Completeness2/5

The tool surface is severely incomplete for an Allure reporting server. It only provides a 'get' operation for reports, missing critical functions like creating reports, listing available reports, updating report data, or deleting reports, which are essential for full lifecycle coverage.

Maintenance

ActivityInactive
ResponsivenessNo recent community issues