About Mcp Jacoco Reporter
MCP-JaCoCo converts JaCoCo XML coverage reports into structured JSON for LLM-assisted analysis. It is aimed at development teams reviewing coverage and planning tests.
Key features
- 01Convert JaCoCo XML reports to JSON
- 02Support instruction, branch, and line metrics
- 03Filter coverage by selected metrics
- 04Return structured coverage data
Use cases
- 01Review uncovered or partially covered code
- 02Plan additional test cases from coverage data
- 03Provide coverage results to LLM tools
MCP support
It exposes a tool that reads a JaCoCo XML report from a specified path and returns coverage metrics as formatted JSON to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP-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": []
}
}
]
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
