Pitest MCP server: a community server for mutation results
What the two community servers read, why neither can start a mutation run, and how to give them the XML report they need.
Checked 3 October 2026 · from pitest.org, the hcoles GitHub organization, the MCP registry, the GitHub API and the NaelDj/PIT-MCP-Server README
One of 91 guides to monitoring and developer tools. Each covers what an AI coding agent can get out of the tool through MCP, the protocol that lets the agent query the tool directly.
Summary
PIT's maintainers have not published an MCP server as of 3 October 2026. Pitest is also called PIT. pitest.org documents none, the hcoles organization that maintains PIT holds no MCP repository, and the MCP registry returns zero results for pitest.
Two community servers exist. NaelDj/PIT-MCP-Server reads PIT's mutations.xml report and exposes five tools, including the surviving mutants for a single method. It was created on 3 February 2026 and last pushed on 28 May 2026.
The older Barry2llen/TestReportHtmlAnalyzerMCP parses HTML reports from JaCoCo and PIT. It is MIT licensed, has 0 stars, and was last pushed on 8 March 2026.
Both read output only. Neither starts PIT, so every answer describes the last build that wrote a report.
Mutation testing is a poor fit for a live connector anyway: a run takes minutes to hours, because PIT re-runs the covering tests against each mutant.
What is the Pitest (PIT) MCP server?
PIT is a mutation testing tool for Java. It changes your code in small ways, one mutation at a time, then runs your tests to see whether they notice. A mutation nothing catches is a gap in the test suite.
The output is a mutation score and a list of the mutants that survived, by class, method and line. PIT writes HTML by default, and XML or CSV when its outputFormats setting asks for them.
A connector lets an agent ask which mutants survived in one method without pasting the whole report into the prompt. NaelDj/PIT-MCP-Server does that from the XML report, so the build must be set to write XML.
Where a PIT connector could come from, and what is there:
| Where | What is there | State |
|---|---|---|
pitest.org | No MCP documentation | Nothing |
The hcoles GitHub organization | No repository matching MCP | Zero results |
| The MCP registry | No entry for pitest | Zero results |
| Arcmutate, the commercial extensions | No MCP references in its sitemap | Nothing |
NaelDj/PIT-MCP-Server | Reads mutations.xml over stdio; five tools, per class and per method | No license file · 0 stars · pushed 28 May 2026 |
Barry2llen/TestReportHtmlAnalyzerMCP | Parses HTML from JaCoCo and PIT over stdio | MIT · 0 stars · pushed 8 March 2026 |
Both community rows read reports a build already wrote. Neither can start PIT, and neither sees a run that has not finished.
Mutation testing sits in code, tests and review, and reaches it only through a file.
| Part of the work | What Pitest (PIT) has here | Can an agent reach it |
|---|---|---|
| Code, tests & review | Mutation score and surviving mutants, from a written report | Partial. After the fact: per class and per method results from the last mutations.xml, through a community server |
| CI & release | None | No pipeline, build or run control. Neither community server can start a mutation run |
| Production observability | None | No metrics, logs or traces |
| Agent observability & evals | None | No traces or evaluations of model behavior |
| AI cost management | None | No spend data of any kind |
PIT results reach an agent only after a build writes a report and a community server parses it. A question cannot trigger a fresh run.
What can an AI agent do with Pitest (PIT)?
Agents reach PIT results only through community servers. NaelDj/PIT-MCP-Server answers per class, per method and surviving-mutant questions from the last mutations.xml, so an agent can ask about a finished run and cannot start one. The mutation run itself stays in the build.
Pitest (PIT) MCP server limits: where answers come back incomplete
Both PIT servers read reports. The limits below follow from that.
Both community servers read reports, and each needs its own format on disk.
NaelDj/PIT-MCP-Server reads only mutations.xml. PIT writes HTML by default, so a default build leaves it nothing to read.
TestReportHtmlAnalyzerMCP reads the HTML instead. It describes itself as a stdio server for HTML created by JaCoCo and PIT.
Guard: Add XML to outputFormats in the build before installing the XML server.
The agent says: “Let me run mutation testing on that class.” Nothing here can start a run.
PIT runs inside the build, invoked by Maven or Gradle. Neither community server exposes it, so a question cannot produce a fresh mutation score.
Guard: Wire mutation testing into CI and let the agent read what CI produced.
The agent says: “The mutation score is 78%.” From whenever the last build ran.
A report is a file with a timestamp. pit_find_latest_xml picks the newest one, but the score itself does not say how old that run is.
Guard: Require the report's date alongside the score, as the disclosure block above does.
Installing either server means depending on a project with no stars.
NaelDj/PIT-MCP-Server was built for a thesis and ships no license file. Barry2llen/TestReportHtmlAnalyzerMCP is MIT licensed. Both had 0 stars on 3 October 2026.
Guard: Read the source before installing it, or read the report yourself and skip the dependency.
How to configure Pitest (PIT) MCP for agents
- 1
Turn on XML output
PIT writes HTML by default.
NaelDj/PIT-MCP-Serverreadsmutations.xml, so add XML tooutputFormatsin the Maven or Gradle plugin. - 2
Do not expect to trigger a run
Neither server starts PIT. That stays a build step, invoked by Maven, Gradle or your pipeline.
- 3
Weigh the dependency
Both community servers have no stars, and
NaelDj/PIT-MCP-Serverships no license file, so reuse terms are unclear. - 4
Compare with reading the file
An agent with file access can read
target/pit-reportsdirectly. The server helps most when the report is too large to paste.
Paste this into your agent’s instructions
A mutation score without its run is a number with no meaning. The block ties every figure to the report that produced it.
When you answer about mutation testing, state: - The report file you read and when the run that produced it finished. A mutation score describes one run. - Which classes the run covered. PIT is usually scoped to a package, not the whole codebase. - That nothing here can start a run, so the newest figure available is the last build's. Never state that data does not exist. State the report you read and what it contained. Write your answer in ASD-STE100 Simplified Technical English. Use short sentences with one idea in each.
Do you need the MCP server at all?
Not always. The report is a file, and an agent with file access can read target/pit-reports without any server.
PIT writes XML and CSV when outputFormats requests them, and both parse more reliably than a rendered HTML page.
Stryker Mutator covers the same idea for JavaScript, TypeScript, C# and Scala, and has a connector story of its own.
For test quality more broadly, SonarQube and BuildPulse both publish servers and answer coverage and flakiness questions directly.
Turn on XML output first. Then decide whether a server adds anything over reading mutations.xml directly.
Pitest (PIT) MCP server setup
PIT's maintainers have not published a server. NaelDj/PIT-MCP-Server is the community option with written setup steps, and it reads the mutations.xml that PIT has already written.
Set expectations before configuring anything. It cannot run mutation testing or reach PIT itself, so the mutation run stays in your build.
Its README covers the clone, a Python virtual environment and a Cline configuration. The steps below follow it.
Run PIT with XML output
PIT runs from Maven or Gradle and writes HTML only unless told otherwise. The server needs mutations.xml, so list XML in the plugin configuration.
No credentials are involved. This is a local build step producing local files.
<outputFormats>
<param>XML</param>
<param>HTML</param>
</outputFormats>
<!-- mvn org.pitest:pitest-maven:mutationCoverage
writes target/pit-reports/mutations.xml -->Install the server
NaelDj/PIT-MCP-Server runs over stdio from server.py. It is on GitHub only, so clone it and install its two Python dependencies.
No credentials are involved here either: it parses files on disk and reaches no service.
git clone https://github.com/NaelDj/PIT-MCP-Server.git cd PIT-MCP-Server python3 -m venv .venv && source .venv/bin/activate pip install mcp anyio
Register it with the client
The README gives a Cline entry that points at the virtual environment's Python. Cursor and Claude Desktop accept the same mcpServers block.
Every PIT tool takes a workspace argument: the project root that holds pom.xml and target/pit-reports.
{"mcpServers":{"PIT-MCP-Server":{
"command":"/home/<user>/PIT-MCP-Server/.venv/bin/python",
"args":["/home/<user>/PIT-MCP-Server/server.py"]}}}Every other client
Each block below is the configuration for one client, with the file path and the key that client expects.
The HTML alternative, TestReportHtmlAnalyzerMCP
Barry2llen/TestReportHtmlAnalyzerMCP parses the HTML report instead of XML. Its repository holds analyzer.py, a copy of it, test.py, a datas directory and a license, with no README.
Read analyzer.py before running it. No author instructions describe what it registers.
gh api repos/Barry2llen/TestReportHtmlAnalyzerMCP/contents \ --jq '.[].name' # no README
Read-only access, permissions and security
Neither community server has stars or outside reviewers
Adding one means running unreviewed code that parses build output.
Reports describe your source
A mutation report names classes, methods and line numbers, so it is a map of the codebase.
Nothing writes
Both servers read report files. They cannot change code, tests or a build.
PIT itself modifies bytecode
That happens inside the build, under your own control, and no connector changes it.
Troubleshooting
- You cannot find an official PIT MCP server
- The PIT project offers none, so pick a community server by report format:
NaelDj/PIT-MCP-Serverfor XML,Barry2llen/TestReportHtmlAnalyzerMCPfor HTML. - `pit_find_latest_xml` finds nothing
- PIT wrote HTML only, which is its default. Add XML to
outputFormats, rerun PIT, and pointworkspaceat the project root. - You want the agent to run mutation testing
- Neither server can. Invoke PIT through Maven or Gradle in the build, then read the report it produces.
- Arcmutate features are missing
- Arcmutate is the commercial extension set for PIT, and its sitemap contains no MCP references either.
Pitest (PIT) MCP server: Reference
| Item | Value |
|---|---|
| Official server | None published as of 3 October 2026 |
hcoles MCP repositories | Zero |
| MCP registry results for pitest | Zero |
| Arcmutate MCP references | None in its sitemap |
| Main community server | NaelDj/PIT-MCP-Server |
| Its tools | ping, pit_find_latest_xml, pit_classes, pit_methods, pit_survivors_for_method |
| What it reads | mutations.xml under target/pit-reports |
| Its license | No license file |
| Its last push | 28 May 2026 |
| HTML alternative | Barry2llen/TestReportHtmlAnalyzerMCP (MIT, 0 stars, pushed 8 March 2026) |
| What neither can do | Run PIT, or reach a PIT installation |
What engineers report
PIT's maintainers have not published a connector, so the counts below cover the searches and the two community repositories.
| What was checked | What it shows |
|---|---|
| Official servers | 0 |
MCP repositories in hcoles | 0 |
| MCP registry results for pitest | 0 |
| Arcmutate MCP references | 0 |
| Community servers found | 2 |
NaelDj/PIT-MCP-Server last push | 28 May 2026 |
TestReportHtmlAnalyzerMCP last push | 8 March 2026 |
“MCP server for querying PIT mutation testing results.”
“a stdio mcp server that analyzes html created by jacoco and pitest”
On 3 October 2026 the MCP registry returned zero results for pitest, a GitHub search of the hcoles organization for MCP repositories returned zero, and the Arcmutate sitemap contained no MCP references. pitest.org does not document an MCP server. A GitHub search for pitest and MCP returned the two community repositories named above, with facts from the GitHub API on the same date.
Should you connect an agent to Pitest (PIT)?
Only if a community server is acceptable to you. Best for java teams that run PIT in CI with XML output and want an agent to fix surviving mutants method by method.
- Strongest fit
- Yes, if your build writes
mutations.xmland the report is too large to paste into a prompt.NaelDj/PIT-MCP-Serverthen lets an agent ask for surviving mutants one method at a time. - Main advantage
- Scoped queries: per class, per method and surviving mutants, instead of the whole report in context.
- Main weakness
- It reads a finished report and cannot start PIT, so it adds no reach beyond the file.
- Operational risk
- Low. It reads files and writes nothing. The risk is depending on an unlicensed, unreviewed thesis project.
From Oodle
One platform for agent traces and infrastructure
Agent traces usually sit in a different product from the rest of your telemetry, so when a slow database makes an agent slow the symptom is in one tool and the cause is in another. Oodle keeps both in one query surface.
See agent observabilityFrequently asked questions
Does PIT have an MCP server?
Not an official one. PIT's maintainers have not published one as of 3 October 2026. The community server NaelDj/PIT-MCP-Server reads PIT's mutations.xml and answers per class and per method.
What does `NaelDj/PIT-MCP-Server` do?
It finds the newest mutations.xml under target/pit-reports and returns scores per class and per method, plus the surviving mutants for one method. It does not run PIT.
What is `TestReportHtmlAnalyzerMCP`?
A community project that parses HTML reports created by JaCoCo and PIT, over stdio. It is MIT licensed, has 0 stars, and was last pushed on 8 March 2026.
Can an agent run mutation testing?
Not through MCP. PIT runs inside the build through Maven or Gradle, and neither community server exposes it as a tool.
Is there an equivalent for other languages?
Yes. Stryker Mutator covers JavaScript, TypeScript, C# and Scala, and the community stryker-mcp-reporter package feeds its results to agents over MCP.