MCP ExplorerExplorer

Mcp Jacoco Reporter

@crisschanon 9 months ago
4 Apache-2.0
FreeCommunity
AI Systems
read jacoco reporter and response a friendly structure for llm

Overview

What is Mcp Jacoco Reporter

MCP-JaCoCo is a server tool that converts JaCoCo code coverage reports into formats optimized for Large Language Models (LLMs), facilitating easier and more effective AI-driven analysis.

Use cases

Use cases include generating quick summaries of code coverage, identifying untested code, suggesting new test cases, streamlining test planning with AI assistance, and automating documentation of coverage results.

How to use

To use MCP-JaCoCo, install it using the provided configuration with ‘uv’. Run the command to start the server and process JaCoCo reports into a structured JSON format suitable for AI tools.

Key features

Key features include smart conversion of XML reports to JSON, support for multiple coverage metrics, efficient processing, structured output for easy AI consumption, and customizable analysis options.

Where to use

MCP-JaCoCo can be used in software development environments where AI and LLMs are integrated into testing workflows, particularly in teams focusing on improving code coverage analysis.

Content

MseeP.ai Security Assessment Badge

MCP-JaCoCo

MCP-JaCoCo is a server tool that converts JaCoCo code coverage reports into formats optimized for Large Language Models (LLMs), making AI-driven analysis easier and more effective.

Why It Matters

As AI and LLMs play a bigger role in software development, traditional code coverage reports—like those from JaCoCo—need a makeover. While great for humans, their XML format isn’t ideal for AI tools to process or analyze. MCP-JaCoCo bridges this gap by transforming these reports into LLM-friendly formats, unlocking powerful benefits for development teams:

  • Quick, meaningful summaries of code coverage
  • Easy identification of untested or poorly tested code
  • Smart suggestions for new test cases
  • Streamlined AI-assisted test planning
  • Automated documentation of coverage results
    With MCP-JaCoCo, teams can tap into AI’s full potential, boosting efficiency and insight in testing workflows.

What It Solves

  • Complex Formats: Simplifies JaCoCo’s dense XML reports for AI use
  • Scattered Data: Pulls coverage metrics into one accessible place
  • Slow Analysis: Cuts down on time-consuming manual reviews
  • Integration Hurdles: Makes raw data play nicely with AI tools

Key Features

  • Smart Conversion: Transforms JaCoCo XML reports into LLM-friendly JSON format
  • Flexible Coverage Types: Supports multiple coverage metrics (instruction, branch, line, etc.)
  • Efficient Processing: Fast and lightweight report processing
  • Structured Output: Well-organized JSON format for easy AI consumption
  • Customizable Analysis: Filter coverage data by specific metrics of interest

Installation

Install MCP-JaCoCo using uv with this configuration:

{
  "mcpServers": {
     "mcp-jacoco-reporter-server": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/Users/crisschan/workspace/pyspace/mcp-jacoco-reporter/mcp-jacoco-reporter-server.py"
      ],
      "env": {
        "COVERED_TYPES": "nocovered, partiallycovered, fullcovered"
      },
      "alwaysAllow": [
        "jacoco_reporter_server"
      ]
    }
  }
}

Tool

jacoco_reporter_server

  • Reads JaCoCo XML report and returns coverage data in JSON format
  • Input:
    • jacoco_xmlreport_path: Path to JaCoCo xml report path(jacoco.xml)
  • Return:
    • String, formatted JSON data containing coverage metrics

Example output format:

[
  {
    "sourcefile": "PasswordUtil.java",
    "package": "com/cicc/ut/util",
    "lines": {
      "nocovered": [],
      "partiallycovered": []
    },
    "branch": {
      "nocovered": [],
      "partiallycovered": []
    }
  },
  {
    "sourcefile": "UserServiceImpl.java",
    "package": "com/cicc/ut/service/impl",
    "lines": {
      "nocovered": [
        33,
        67,
        69,
        71,
        72
      ],
      "partiallycovered": []
    },
    "branch": {
      "nocovered": [
        67
      ],
      "partiallycovered": [
        32
      ]
    }
  },
  {
    "sourcefile": "Constants.java",
    "package": "com/cicc/ut/constants",
    "lines": {
      "nocovered": [],
      "partiallycovered": []
    },
    "branch": {
      "nocovered": [],
      "partiallycovered": []
    }
  },
  {
    "sourcefile": "AuthException.java",
    "package": "com/cicc/ut/exceptions",
    "lines": {
      "nocovered": [],
      "partiallycovered": []
    },
    "branch": {
      "nocovered": [],
      "partiallycovered": []
    }
  },
  {
    "sourcefile": "UserService.java",
    "package": "com/cicc/ut/service",
    "lines": {
      "nocovered": [],
      "partiallycovered": []
    },
    "branch": {
      "nocovered": [],
      "partiallycovered": []
    }
  }
]

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers