stryker-mcp-reporter
This server provides an MCP interface to Stryker mutation testing, enabling AI agents to run, analyze, and improve mutation tests efficiently.
Run full mutation tests (
run_mutation_tests): Execute complete Stryker runs with configurable options like file globs, config path, test runner (e.g., Vitest), and concurrency.Run Git-targeted mutation tests (
run_targeted_mutation_tests): Automatically detect changed TypeScript files (via commit SHA, revision, or range) and test only those, saving up to 90% runtime.Get mutation score (
get_mutation_score): Retrieve the overall score and a detailed summary (killed, survived mutants, etc.).List survived mutants (
get_survived_mutants): Fetch details (file path, line number, mutator type, replacement code) with optional file-path filtering.Configure desktop notifications (
configure_desktop_notifications): Toggle native notifications, enable/disable sounds, and set a persistent overlay until dismissed.
Provides access to Stryker mutation testing results, exposing the latest mutation testing report as a resource.
Click on "Install 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., "@stryker-mcp-reporterGet the latest mutation testing report"
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.
⚡ stryker-mcp-reporter & Control Server
"100% Code Coverage sagt dir nur, was ausgeführt wurde. Stryker MCP befähigt deine KI zu beweisen, was unzerstörbar ist."
Ein hochmodernes Stryker Mutator Plugin & Standalone Control Server, das Mutation Testing Ergebnisse sowie interaktive Steuerung per Model Context Protocol (MCP) über SSE und stdio für KI-Agenten (Antigravity, Cursor, Cline, Roo Code, Claude Desktop) bereitstellt.
🚀 Quickstart • 🤖 KI-Agenten Setup • 🏗️ Architektur • 🤝 Contributing
📖 Die Story: Warum stryker-mcp-reporter?
Das 100% Coverage-Paradoxon:
Standard Code Coverage misst lediglich, welche Zeilen Code während eines Tests einmal ausgeführt wurden – selbst wenn deine Tests schwache oder gar keine Assertions enthalten. Generative KI-Agenten schreiben heute in Sekunden hunderte Zeilen Testcode, neigen aber zum "Happy Path Bias" und lassen logische Randfälle unbemerkt durch.
Die Stryker MCP Revolution:
Stryker mutiert deinen Quellcode (z. B. verwandelt es > in >=, löscht Rückgabewerte oder invertiert Logik). Überlebt ein Mutant, existiert eine unsichtbare Testlücke.stryker-mcp-reporter macht diese Mutanten für KI-Agenten lesbar und steuerbar. KI-Pair-Programmer erkennen Lücken autonom, schreiben exakte Grenzwert-Tests und eliminieren überlebende Mutanten in Echtzeit.
Related MCP server: cypress-mcp
📸 In Aktion (Reale Screenshots)
Hinweis zur Darstellung: Die folgenden Bilder der "Live AI"-Features sind konzeptionelle Visualisierungen der internen MCP-Datenströme, um die gelieferten JSON-Daten greifbar zu machen. Da dies ein Hintergrund-Server ist, werden Sie diese Daten in der Realität direkt in der Chat-Oberfläche Ihres KI-Clients (z.B. Claude Desktop oder Cursor) sehen.
🚀 0. Terminal Stryker Run

📊 1. Echter Stryker HTML Mutation Testing Report

🧬 2. Mutanten-Detailanalyse mit In-Line Code Diff

💻 3. Standalone MCP Control Server & Real-Time Protocol Verification (npm run test:e2e)

🤖 4. Live KI-Mutanten Auto-Remediation (suggest_mutant_fixes)
Analysiert überlebende Mutanten im Code-Kontext und erzeugt präzise TypeScript-Assertions (expect(result).toBe(...)) sowie konkrete Randwert-Test-Snippets für KI-Pair-Programmer.
🔮 5. Gezielte Mutanten-Risikoprognose (predict_mutation_impact)
Analysiert geänderte Quelldateien aus git diff in unter einer Sekunde und klassifiziert das Risiko überlebender Mutanten (HIGH, MEDIUM, LOW) für optimale Test-Priorisierung.
📈 6. Historische Score Trend Analytics (stryker://analytics/trends)
Verfolgt den historischen Verlauf von Mutation-Scores über mehrere Testläufe hinweg, berechnet Score-Deltas (+5.7% Steigerung) und visualisiert die Trend-Richtung.
🌟 Hauptmerkmale
⚡ Interaktives Mutation Testing: KI-Agenten können Mutationstests gezielt per MCP-Tool-Call anstoßen, beobachten und auswerten.
🤖 AI Mutant Auto-Remediation:
suggest_mutant_fixesgeneriert maßgeschneiderte Unit-Test Assertions für überlebte Mutanten.🛠️ Hybrid Auto-Remediation Profiling: Kombiniert statische Analyse und dynamisches Profiling, um KI-Reparaturvorschläge für überlebende Mutanten noch präziser zu machen.
🔮 Git-Diff Risikoprognose:
predict_mutation_impactprognostiziert in < 1s das Mutationsrisiko geänderter Quellcodedateien.🎯 Targeted Git-Diff Executions: Mit
run_targeted_mutation_testswerden nur die in Git geänderten TypeScript-Dateien getestet – spart bis zu 90% Laufzeit!💾 SQLite Caching & History: Speichert Testergebnisse, Trends und Historie sicher in einer lokalen SQLite Datenbank für pfeilschnellen Abruf und Langzeit-Analysen.
📈 Score Trend Tracking: Greife über
stryker://analytics/trendsauf den historischen Score-Verlauf und Score-Deltas zu.📦 Live MCP Resources: Greife über URIs wie
stryker://report/survivedoderstryker://statusdirekt auf Testdaten zu.📌 Persistente Desktop Overlays: Endgültige Testergebnisse (Completion/Error) bleiben auf dem Bildschirm fixiert, bis sie aktiv vom Entwickler weggeklickt werden.
🔊 Dezenter Mutant Hunter Cyber-Sound: Beinhaltet einen frei nutzbaren, synthetisierten Cyber-Chime (
assets/sounds/mutant_hunter.wav), der das Ende der Mutantenjagd ankündigt.
📦 Installation & Schnellstart
Voraussetzungen: Node.js >= 22.0.0 und @stryker-mutator/core >= 8.0.0.
Installiere das Plugin in deinem Projekt:
npm install --save-dev stryker-mcp-reporterModus 1: Stryker Reporter Plugin
Füge das Plugin und den Reporter zu deiner stryker.config.mjs hinzu:
// stryker.config.mjs
export default {
plugins: [
"@stryker-mutator/*",
"stryker-mcp-reporter",
],
reporters: [
"clear-text",
"progress",
"mcp", // MCP Reporter aktivieren
],
};Beim Ausführen von npx stryker run startet der MCP-Server nach dem Testlauf automatisch auf http://127.0.0.1:3000/mcp/sse.
Modus 2: Standalone MCP Control Server
Starte den MCP Server direkt über die CLI:
# STDIO Modus (für lokale KI-Tools & direktes Spawning):
npx stryker-mcp-server --stdio
# Oder SSE Modus (Server-Sent Events via HTTP Port 3000):
npx stryker-mcp-server --sseDer Server steht dauerhaft bereit und erlaubt KI-Agenten das dynamische Ausführen von Mutationstests per MCP Tool Call.
🤖 Interaktives KI-Agenten Setup
Verbinde deine bevorzugte KI-Entwicklungsumgebung im Handumdrehen mit stryker-mcp-reporter. Du kannst zwischen STDIO (direktes Spawning via CLI, empfohlen) und SSE (HTTP/Server-Sent Events) wählen.
🌟 Option A: STDIO Transport (Empfohlen für lokale IDEs & KI-Tools)
Wähle die passende Konfiguration für dein Betriebssystem aus:
🐧 🍏 Linux & macOS (npx):
{
"mcpServers": {
"stryker-mutation-testing": {
"command": "npx",
"args": ["-y", "--silent", "stryker-mcp-reporter"]
}
}
}🪟 Windows (cmd.exe Wrapper - empfohlener Npx-Start):
Warum
cmd.exe? Auf Windows istnpxein Batch-Skript (npx.cmd). Viele KI-Tools starten Prozesse ohne Shell-Kontext.cmd.exe /cstellt den sauberen Start sicher und das--silent-Flag verhindertstdout-Verschmutzung.
{
"mcpServers": {
"stryker-mutation-testing": {
"command": "cmd.exe",
"args": [
"/c",
"npx",
"-y",
"--silent",
"stryker-mcp-reporter"
]
}
}
}⚡ Direkter Pfad (Lokale Entwicklung / Maximale Geschwindigkeit):
{
"mcpServers": {
"stryker-mutation-testing": {
"command": "node",
"args": [
"C:\\Users\\DEIN_BENUTZER\\Projects\\stryker-mcp-reporter\\dist\\cli.js"
]
}
}
}🌐 Option B: SSE Transport (Server-Sent Events via HTTP)
Starte den MCP Server vorher im Hintergrund via npx stryker-mcp-server --sse und trage folgende URL ein:
{
"mcpServers": {
"stryker-mutation-testing": {
"url": "http://127.0.0.1:3000/mcp/sse"
}
}
}1. 🪐 Google Antigravity (Antigravity CLI / IDE)
Projekt-Ebene:
.antigravity/mcp.json(im Wurzelverzeichnis deines Projekts)Globale Konfiguration:
Windows:
%USERPROFILE%\.gemini\config\mcp_config.jsonmacOS / Linux:
~/.gemini/config/mcp_config.json
{
"mcpServers": {
"stryker-mutation-testing": {
"command": "cmd.exe",
"args": ["/c", "npx", "-y", "--silent", "stryker-mcp-reporter"]
}
}
}2. ⚡ Cursor IDE
Projekt-Ebene:
.cursor/mcp.json(im Wurzelverzeichnis deines Projekts)Globale Konfiguration:
Windows:
%USERPROFILE%\.cursor\mcp.jsonmacOS / Linux:
~/.cursor/mcp.jsonOder im GUI-Menü: Cursor Settings -> Features -> MCP
{
"mcpServers": {
"stryker-mutation-testing": {
"command": "cmd.exe",
"args": ["/c", "npx", "-y", "--silent", "stryker-mcp-reporter"]
}
}
}3. 🧩 Cline (VS Code Extension)
Datei:
cline_mcp_settings.jsonPfade:
Windows:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.jsonmacOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonLinux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Oder in VS Code: Cline Tab -> MCP Servers Icon -> Configure MCP Servers
{
"mcpServers": {
"stryker-mutation-testing": {
"command": "cmd.exe",
"args": ["/c", "npx", "-y", "--silent", "stryker-mcp-reporter"]
}
}
}4. 🦘 Roo Code (VS Code Extension)
Projekt-Ebene:
.roo/mcp.jsonGlobale Konfiguration:
mcp_settings.jsonWindows:
%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.jsonmacOS:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.jsonLinux:
~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
{
"mcpServers": {
"stryker-mutation-testing": {
"command": "cmd.exe",
"args": ["/c", "npx", "-y", "--silent", "stryker-mcp-reporter"]
}
}
}5. 🏄 Windsurf IDE (Codeium)
Datei:
mcp_config.jsonPfade:
Windows:
%USERPROFILE%\.codeium\windsurf\mcp_config.jsonmacOS / Linux:
~/.codeium/windsurf/mcp_config.json
Oder via Command Palette:
Ctrl+Shift+P/Cmd+Shift+P-> Windsurf: Open MCP Configuration
{
"mcpServers": {
"stryker-mutation-testing": {
"command": "cmd.exe",
"args": ["/c", "npx", "-y", "--silent", "stryker-mcp-reporter"]
}
}
}6. 🧡 Claude Desktop
Datei:
claude_desktop_config.jsonPfade:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"stryker-mutation-testing": {
"command": "cmd.exe",
"args": ["/c", "npx", "-y", "--silent", "stryker-mcp-reporter"]
}
}
}🔌 MCP Schnittstellen
📦 Resources (Datenabruf)
Resource URI | MimeType | Beschreibung |
|
| Der vollständige Stryker Mutation Testing Report im JSON-Format. |
|
| Kompakte Zusammenfassung der Mutations-Metriken (Score, Killed, Survived). |
|
| Liste aller überlebenden Mutanten inkl. Pfad, Zeile, Mutator & Ersetzung. |
|
| Historische Trendanalyse der Mutationsscore-Entwicklung und Score-Deltas. |
|
| Aktueller Ausführungsstatus von Stryker ( |
🛠️ Tools (Interaktive Steuerung)
Tool Name | Parameter | Beschreibung |
|
| Startet einen vollständigen oder spezifischen Mutationstest-Lauf. |
|
| Erkennt in Git geänderte TypeScript-Dateien ( |
|
| Generiert KI-gestützte Behebungsratschläge, konkrete Code-Assertions & Boundary-Tests für überlebte Mutanten. |
|
| Analysiert geänderte Quelldateien und prognostiziert in < 1s das Risiko überlebender Mutanten ( |
| - | Ruft den aktuellen Mutationsscore und die Gesamtzusammenfassung ab. |
|
| Liefert alle überlebenden Mutanten inkl. Dateipfad, Zeile, Mutator-Typ & Ersetzungscode. |
|
| Konfiguriert die nativen Desktop-Benachrichtigungen (Aktivieren, Ton, Persistenter Overlay Status). |
💡 Prompts (KI-gestützte Testgenerierung)
explain_survived_mutants: Erzeugt eine strukturierte KI-Instruktion zur detaillierten Ursachenanalyse überlebender Mutanten und zur automatischen Erstellung fehlender Unit Tests nach TDD-Standards.
🏗️ Software Engineering & Architektur-Highlights
stryker-mcp-reporter ist nach den Prinzipien der Clean Architecture / Hexagonal Architecture aufgebaut, um maximale Testbarkeit, Wartbarkeit und Entkopplung zu gewährleisten.
graph TD
subgraph Infrastructure Layer ["Infrastruktur (Adapters)"]
Express["Express Server (SSE / MCP)"]
McpResourceController["McpResourceController"]
McpToolController["McpToolController"]
McpPromptController["McpPromptController"]
StrykerRunner["StrykerCliRunnerAdapter"]
GitAdapter["GitCliAdapter"]
end
subgraph Application Layer ["Applikation (Use Cases)"]
RunUC["RunMutationTestsUseCase"]
RunTargetedUC["RunTargetedMutationTestsUseCase"]
GetSurvivedUC["GetSurvivedMutantsUseCase"]
GetSummaryUC["GetMutationSummaryUseCase"]
PublishUC["PublishReportUseCase"]
end
subgraph Core Domain Layer ["Kern-Domäne (Pure TS)"]
ReportStream["ReportStream"]
StatusStream["ExecutionStatusStream"]
Entity["MutationInsightEntity"]
Result["Result<T, E>"]
end
Express --> McpResourceController
Express --> McpToolController
Express --> McpPromptController
McpToolController --> RunUC
McpToolController --> RunTargetedUC
McpToolController --> GetSurvivedUC
McpResourceController --> GetSummaryUC
RunUC --> ReportStream
RunUC --> StatusStream
RunUC --> StrykerRunner
RunTargetedUC --> GitAdapter
RunTargetedUC --> RunUC
PublishUC --> ReportStream🧠 Vector DB & Developer Skill-Gap Data Model
stryker-mcp-reporter transformiert rohe Mutanten-Ergebnisse in angereicherte MutationInsightEntity-Objekte. Diese enthalten strukturierte Daten zur Speicherung in Vektordatenbanken (Qdrant, Pinecone, ChromaDB, Weaviate) für RAG-Pipelines:
Mutator-Kategorie: (z. B.
Arithmetic & Math,Equality & Logic,Exception Handling).Architekturschicht: (z. B.
Domain,Application,Infrastructure).Risikoscore & Schweregrad: Automatisches Scoring (0 – 100) zur Priorisierung von Testlücken.
Embedding Payload: Vektor-DB-ready Text-String für automatisierte KI-Trainings und Entwickler-Analysen.
🤝 Contributor Onboarding & Community
Wir freuen uns über jede Unterstützung! Egal ob Bugfix, neue MCP-Tools oder Dokumentations-Verbesserungen.
🏁 Quickstart für Contributor
git clone https://github.com/kluth/stryker-mcp-reporter.git
cd stryker-mcp-reporter
npm install
npm test # Unit Tests (Vitest)
npm run test:e2e # Real E2E MCP SSE Protocol Verification
npm run test:mutation # Stryker Mutation Testing (100% Target)📝 Lizenz
MIT License © 2026 Matthias Kluth
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes the pentest reporting and automation features of SysReptor as programmable tools for AI agents and automated workflows. It enables users to manage findings, projects, and templates through a standardized interface by wrapping the reptor CLI.8MIT
- AlicenseNot gradedqualityFmaintenanceMCP server plugin for Cypress that enables AI agents to control a browser for automated testing and interaction.22MIT
- AlicenseAqualityAmaintenanceAn MCP server that brings senior-QA discipline to AI coding assistants, enabling test planning, TDD, mutation testing, and code review.486Apache 2.0
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to explore, search, and query API definitions from OpenAPI/Swagger JSON files.
Related MCP Connectors
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
MCP server for AI access to Swagger by SmartBear.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kluth/stryker-mcp-reporter'
If you have feedback or need assistance with the MCP directory API, please join our Discord server