QA Copilot MCP Server
QA Copilot MCP Server
Ein Model Context Protocol-Server, der einer KI-Assistenz einen kleinen Satz konkreter QA-/Testanalyse-Werkzeuge an die Hand gibt, statt sie raten zu lassen: einen Playwright-Lauf zusammenfassen, flaky Tests über mehrere Läufe finden, einen Fehlschlag heuristisch erklären, ein Playwright-Testgerüst erzeugen und den aktuellen CI-Status eines GitHub-Repos abrufen. Richtet man Claude Desktop, Claude Code oder einen anderen MCP-kompatiblen Host auf den Server aus, werden daraus echte Tool-Aufrufe statt Freitext-Vermutungen.
Es ist das „Gib der KI echte Daten, keine Bauchgefühle"-Stück eines QA-Automations-Portfolios: Die anderen Repos dieses Portfolios (healthcare-qa-automation-framework, healthcare-data-quality-framework) erzeugen Playwright-JSON-Reports und CI-Läufe; dieser Server macht daraus etwas, das eine Assistentin bzw. ein Assistent tatsächlich abfragen kann.
Warum es so aufgebaut ist
Die Protokoll-Anbindung ist eine dünne Schicht über gewöhnliche Funktionen. Die eigentliche Logik jedes Tools lebt in
src/playwright/,src/github/undsrc/tools/als kleine, weitgehend pure, unabhängig unitgetestete Module.src/index.tsregistriert sie nur mit dem MCP-SDK – der fehleranfällige Teil (Report-Parsing, Flaky-Erkennung, Heuristiken) ist also durch schnelle Unit-Tests abgedeckt, die Protokoll-Verdrahtung durch einen separaten End-to-End-Smoke-Test (weiter unten).GitHub-Zugriff ist pluggbar – nach demselben Muster wie die LLM-Integrationen im übrigen Teil dieses Portfolios.
GitHubClientist ein Interface;RealGitHubClientkapseltfetchgegen die GitHub-REST-API,FakeGitHubClientliefert vorgefertigte Daten. Dadurch istget_repo_ci_statusoffline vollständig unit-testbar, während der echte Client echter, lauffähiger Code ist – ein MCP-Host auf dem Rechner einer Entwicklerin oder eines Entwicklers hat ganz normalen Internetzugang, selbst in Umgebungen, die keinen haben (wie der eigenen CI-Sandbox dieses Repos).Die Teststub-Generierung ist bewusst deterministisch und nicht LLM-basiert. Bei einer benannten Sequenz von
data-testid-Interaktionen erzeugtgenerate_playwright_test_stubimmer genau dieselbe Ausgabe – sofort, kostenlos, reproduzierbar. Für einen anderen Zweck gibt es ein eigenes Projekt: Testfälle aus einer Spezifikation oder User Story zu erzeugen, wo ein LLM tatsächlich Mehrwert bringt.Ein Smoke-Test auf Protokollebene, nicht nur Unit-Tests.
smoke-test.mjsstartet den gebauten Server als echten Kindprozess und steuert ihn mit dem offiziellen MCP-Clientüber stdio –tools/list, dann eintools/callpro Tool. Damit beweist CI das einen echten Wire-Protokolle ebenso wie nur die Funktionen dahinter.
Related MCP server: playwright-fixer-mcp
Tools
Tool | Was es tut |
| Parsiert Playwright-JSON-Reporter-Output in Pass-/Fail-/Timeout-/Skipped-/Flaky-Zähler, Dauer und vollständige Fehlerdetails. |
| Vergleicht dieselben Tests über 2+ Playwright-JSON-Reports und markiert alle, deren Ausgang nicht einheitlich war. |
| Heuristische, musterbasierte Vermutung zur Ursache einer rohen Fehlermeldung. Vollständig offline. |
| Baut deterministisch ein lauffähiges Playwright-Testgerüst aus einer benannten Sequenz von |
| Holt die aktuellen Actions-Läufe eines öffentlichen GitHub-Repos und zieht eine Bilanz aus Pass-/Fail-/In-Progress-Zahlen. |
Architektur
src/
index.ts MCP server: registers all 5 tools, connects over stdio
playwright/reportParser.ts Pure Playwright-JSON parsing: summarizeReport, findFlakyTests
github/githubClient.ts GitHubClient interface + RealGitHubClient (fetch) + FakeGitHubClient
tools/
explainFailure.ts Heuristic pattern-matching (ported from the triage_failure.py
script in healthcare-qa-automation-framework)
generateTestStub.ts Deterministic Playwright test-file template generator
getRepoCiStatus.ts Wraps GitHubClient into pass/fail/in-progress counts
test/ Vitest unit tests for every module above
fixtures/ Sample Playwright JSON reports (3 runs, used for flaky-test tests)
smoke-test.mjs End-to-end MCP protocol smoke test (real child process, real client)
.github/workflows/ci.yml Type-check, unit tests, build, protocol smoke testTech-Stack
TypeScript · Node.js · @modelcontextprotocol/sdk · Zod · Vitest · GitHub REST API ·
GitHub Actions
Lokale Ausführung
npm install
npm run build # compiles to dist/
npm test # unit tests (27 tests, fully offline)
npm run smoke # builds, then drives the real server over stdio via the MCP clientVerwendung über einen MCP-Host
Richten Sie einen beliebigen MCP-kompatiblen Client auf den gebauten Server, z. B. in Claudes
claude_desktop_config.json:
{
"mcpServers": {
"qa-copilot": {
"command": "node",
"args": ["/absolute/path/to/qa-copilot-mcp-server/dist/index.js"]
}
}
}Setzen Sie GITHUB_TOKEN in der Umgebung, um das unauthentifizierte GitHub-Ratenlimit für get_repo_ci_status anzuheben (60 Anfragen pro Stunde ohne Token, 5.000 pro Stunde mit Token) – für gelegentliche Nutzung funktioniert es auch ganz ohne Token.
CI
Jeder Push und Pull-Request auf main läuft einen einzigen Job: Typprüfung (tsc --noEmit), die Unit-Test-Suite (vitest run), ein Produktions-Build und den Smoke-Test auf Protokoll-Ebene (node smoke-test.mjs) gegen die gebaute Ausgabe. CI setzt nirgendwo Netzwerkzugang voraus oder benötigt ihn – get_repo_ci_status wird in den Unit-Tests nur gegen FakeGitHubClient ausgeführt, und der Smoke-Test wertet ein netzwerkfreies Ergebnis von get_repo_ci_status als Erfolg, solange der Server es sauber über den isError-Kanal des MCP weitergibt statt abzustürzen.
Was das hier nicht ist
Das ist kein Allzweck-GitHub- oder CI-Dashboard – es ist ein kleine, fokussierte Sammlung von Tools, die gezielt für die Playwright-Berichts- und GitHub-Actions-Formate gebaut wurde, die die anderen Repos dieses Portfolios tatsächlich erzeugen. Es soll zeigen, wie eine KI-Assistenz mit realen, überprüfbaren Testdaten verbunden wird, statt von ihr zu verlangen, Testergebnisse aus einer Paraphrase zu erraten.
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
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to execute browser automation, perform QA tasks, and generate test code through natural language commands using Playwright.5
- FlicenseAqualityDmaintenanceAutomated Playwright E2E test repair powered by a self-improving, governed MCP server that runs failing tests, collects failure artifacts, reasons about root causes, validates and applies fixes, and re-runs to verify.12
- AlicenseBqualityBmaintenanceSupercharges AI-assisted debugging of Playwright tests by parsing trace files to extract failures, action history, network logs, screenshots, and suggesting fixes.612MIT
- AlicenseNot gradedqualityBmaintenanceEnables autonomous web QA by exposing Playwright browser control as MCP tools for navigation, accessibility snapshotting, interaction, and bug detection.3MIT
Related MCP Connectors
BuildPulse CI test analytics for AI agents — flaky tests, coverage, and CI run history.
Voice-powered bug reporting with 13 MCP tools. Record bugs by talking; let AI find and fix them.
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
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/sharath9271-design/qa-copilot-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server