Test Results MCP Server
Provides tools for creating Jira bug tickets from test failures, including summary, steps to reproduce, expected/actual results, and stack traces, and for listing valid Jira issue types for a project. Ticket creation is dry-run by default.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Test Results MCP ServerSummarize the latest test run, group failures by cause, and find timeouts in logs."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Test Results MCP Server
An MCP (Model Context Protocol) server that lets an LLM assistant (such as Claude Desktop) analyze automated test results, search logs, and file Jira bugs with steps to reproduce.

Why
Triaging a failed test run usually means jumping between the results report, log files and Jira. This server exposes those as tools, so an assistant can chain them: find the failures, group them by cause, look for evidence in the logs, and draft a bug for a human to approve.
Related MCP server: CI Investigator MCP
Tools
Tool | What it does |
| Total / passed / failed / skipped counts, pass rate, duration |
| Failed tests with a one-line error each |
| Full error message and stack trace for one test |
| Clusters failures by error text (numbers normalised) for first-level root cause analysis |
| Regex search across log files in a configured folder |
| Builds a Jira bug (summary, steps to reproduce, expected/actual result, stack trace). Dry-run by default |
| Shows which issue types the Jira project accepts (troubleshooting) |
Quick start
Requires Python 3.10+.
git clone https://github.com/AnittaSusanThomas/test-results-mcp-server.git
cd test-results-mcp-server
python -m pip install -r requirements.txt
# run the tests
python -m pytest
# try the server in the MCP Inspector
npx @modelcontextprotocol/inspector python test_results_mcp_server.pyThe server reads sample/results.xml and sample/logs/ by default. Point it at your own
JUnit-style XML and log folder with the RESULTS_FILE and LOG_DIR environment variables.
Use it with Claude Desktop
Open Settings → Developer → Edit Config and add this to claude_desktop_config.json
(use your own absolute paths):
{
"mcpServers": {
"test-results": {
"command": "python",
"args": ["C:/path/to/test_results_mcp_server.py"],
"env": {
"RESULTS_FILE": "C:/path/to/sample/results.xml",
"LOG_DIR": "C:/path/to/sample/logs"
}
}
}
}Fully quit and reopen Claude Desktop, then try:
Summarize my latest test run, group the failures by cause, and search the logs for timeouts.
Optional: Jira
Add these to the same env block (see .env.example): JIRA_BASE_URL, JIRA_EMAIL,
JIRA_API_TOKEN, JIRA_PROJECT_KEY, and optionally JIRA_ISSUE_TYPE.
Create an API token at https://id.atlassian.com/manage-profile/security/api-tokens.
Design decisions
Dry-run by default.
create_jira_bugonly previews the ticket unlessdry_run=Falseis passed, so an assistant cannot create tickets by accident. The client also asks for approval on each tool call.Secrets stay out of code. Credentials come from environment variables.
Restricted log access.
search_logsonly reads files insideLOG_DIR.Jira projects differ. The tool asks Jira which issue types the project allows and picks a valid one (preferred type, then Bug, then Task) instead of hardcoding "Bug".
stdio transport. Suits a local server launched by the client. A shared deployment would use HTTP with authentication.
Limitations and next steps
Reads a local JUnit XML file; it is not yet wired to a CI system.
No duplicate-ticket check before creating a Jira issue.
Planned: a
run_teststool that triggers a Jenkins job, and acompare_runstool that shows new failures versus the previous run.Tested with
mcp1.x (mcp[cli]<2). MCP 2.x renamedFastMCPtoMCPServer.
Project layout
test_results_mcp_server.py the server
sample/ dummy results and logs for trying it out
tests/test_server.py pytest tests
.env.example settings reference (no real values)License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Direct access to Cypress tests results and accessibility reports in your AI workflow.
Triage failing GitHub Actions jobs and see what self-heal repaired, in natural language.
Run, debug and inspect Playwright E2E tests from any AI agent: diagnostics, live DOM, selectors.
Diagnose why an AI agent failed and get the verified fix instantly. Free, no token.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables intelligent analysis of regression test failures and automatic discovery of solutions in JIRA. Analyzes test logs using AI-driven algorithms and matches errors with relevant JIRA issues through natural language interactions.-
- AlicenseAqualityCmaintenanceProvides tools to analyze and debug GitHub Actions CI failures, including summarizing failures, detecting flaky tests, and suggesting fixes.1010 npm1ISC
- FlicenseAqualityBmaintenanceEnables AI assistants to summarize Playwright test runs, identify flaky tests, heuristically triage failures, generate Playwright test stubs, and retrieve recent GitHub CI status through MCP tool calls.5-
- FlicenseAqualityBmaintenanceEnables CI/CD failure triage for GitHub Actions by inspecting failed runs, classifying root causes with LLM assistance, retrieving relevant runbook guidance, estimating flakiness, and either preparing dry-run fix PRs or publishing structured diagnoses to Discord for human review.2-