Automation Coverage MCP
Supports the Backstage ecosystem (including Red Hat Developer Hub plugin development) by discovering plugin packages, analyzing git changes and coverage reports, and recommending/generating test plans and Playwright briefs across unit, integration, component, and e2e layers.
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., "@Automation Coverage MCPGenerate a test plan for my current changes"
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.
Automation Coverage MCP
Coverage-driven test generation for the RHDH plugin forest. This MCP analyzes git changes, reads Istanbul/LCOV numbers, and tells agents which tests to write at which layer. UI work is handed to Playwright MCP as explore-then-write briefs — this server does not drive a browser.
Plugins live at multiple levels (workspaces/<ws>/plugins/<plugin>, backend modules, overlay e2e, RHDH product e2e). Discovery walks that layout instead of hardcoding package names.
What it does
Discover packages across
rhdh-plugins,community-plugins,rhdh,rhdh-plugin-export-overlays, and shared Playwright helper repos.Analyze the current git diff (branch vs
origin/mainplus uncommitted work) and classify each file (util, React page, backend router, overlay metadata, platform, …). When the branch is clean, passmode=workspaceto scansrcinstead.Read coverage (
coverage/coverage-final.jsonorlcov.info) from the cwd / scoped packages only (never a sibling workspace) and intersect uncovered lines with the diff.Recommend layers using the cheapest-layer-wins ladder (unit → integration → component → plugin Playwright → overlay/cluster). Layers are pluggable YAML.
Emit briefs agents can execute. UI briefs are Playwright MCP prompts: navigate, snapshot, generate locators, verify, then write the spec.
Coverage ranks gaps. It is not a merge gate. Each brief states the failure the test must catch.
Related MCP server: Quality MCP
Pair with Playwright MCP
Add both servers to Cursor MCP config (~/.cursor/mcp.json, or .cursor/mcp.json in this clone). Playwright needs the testing capability so browser_generate_locator and browser_verify_* are available.
Substitute <ABS_PATH_TO_THIS_CLONE> with the absolute path of this repository on your machine (the directory that contains src/index.ts).
{
"mcpServers": {
"automation-coverage": {
"command": "npx",
"args": ["tsx", "<ABS_PATH_TO_THIS_CLONE>/src/index.ts"]
},
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest", "--caps=testing"]
}
}
}If the Cursor workspace is this repository, you can use the relative entry already in .cursor/mcp.json (./src/index.ts) instead of an absolute path.
Agent loop for UI gaps:
generate_playwright_brief → Playwright browser_navigate → browser_snapshot → interact → browser_generate_locator → browser_verify_* → write @playwright/test spec mirroring a neighbor → run until green.
Do not write Playwright from the scenario paragraph alone.
Tools
Tool | Purpose |
| Builtin + YAML layers |
| Plugin packages at every forest level |
| Git diff → package + file kind |
| Parse Istanbul/LCOV |
| Uncovered ∩ changed lines |
| Existing tests (templates to mirror) |
| Cheapest layers + Playwright flag |
| Full ordered plan with briefs. |
| One layer (unit / integration / …) |
| Playwright MCP prompt from UI gaps |
Prompts: fill_automation_gaps, playwright_from_coverage, unit_from_coverage.
Pluggable layers
Builtins (from the RHDH test-placement ladder):
id | Ladder | Playwright MCP? |
| L1 Jest/Vitest | no |
| L2 | no |
| L3 RTL | no |
| Plugin-source Playwright | yes |
| Overlay native smoke | no |
| Overlay cluster Playwright | yes |
| RHDH L4a | yes |
| RHDH L4b | yes |
Add or override layers in .automation-coverage.yaml (see config/rhdh-forest.example.yaml):
disabledLayers: [cluster-e2e]
layers:
- id: contract
title: HTTP contract
kind: custom
cost: s
fileKinds: [backend-router]
testGlobs: ["**/*.contract.test.ts"]
generator: Write a contract test against the public HTTP schema.Config lookup
AUTOMATION_COVERAGE_CONFIG(absolute path to a YAML file).automation-coverage.yamlwalking up fromcwd~/.config/automation-coverage/config.yamlAuto-detect: walk up from
cwduntil a parent directory contains sibling clones namedrhdh-plugins,community-plugins,rhdh,rhdh-plugin-export-overlays,lightspeed-playwright-e2e, and/orbackstage
Forest paths in YAML expand ~ and ${ENV_VAR}. Copy config/rhdh-forest.example.yaml and substitute ${FOREST_ROOT} (or export it) — that value is the parent directory that contains your clones, not rhdh-plugins itself.
Token | Replace with |
| Absolute path of the folder that contains |
| Absolute path of this |
| Workspace folder name under |
Omit forest entries you have not cloned. If ${FOREST_ROOT} is left unexpanded, those rows are ignored and auto-detect is used.
Run
cd <ABS_PATH_TO_THIS_CLONE>
npm install
npm test
npm start # stdio MCPProduce a coverage report in the plugin workspace before planning (yarn test:all / backstage-cli repo test --coverage). If no report is present, changed lines are treated as uncovered.
Agent workflow
generate_test_planwithcwdset to the plugin workspace. Usemode=workspacewhen git diff is empty (existing plugin, not a feature branch).Implement every
playwrightMcp: falseitem by mirroringtemplateFor
playwrightMcp: trueitems, rungenerate_playwright_briefand drive Playwright MCPSkip files in
skipped(ignored wiring, already covered, non-source, already has a neighbor test)
This server cannot be installed
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 Connectors
Generates unit tests for Python code with coverage before/after reports and concrete edge cases.
Direct access to Cypress tests results and accessibility reports in your AI workflow.
Repo intel for AI coding agents: overview, PRs, contributors, hot files, CI, deps. Remote MCP.
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
Related MCP Servers
- FlicenseCqualityDmaintenanceEnables comprehensive analysis of JavaScript/TypeScript project testing setups by detecting frameworks like Jest, Vitest, and Cypress, analyzing test coverage metrics, and generating actionable recommendations for improving test quality. Provides detailed insights into test structure, dependencies, and coverage thresholds with visual feedback.31
- AlicenseNot gradedqualityDmaintenanceAutomates repository analysis, test planning, and generation of end-to-end tests with Playwright, acting as an intelligent quality assistant.16MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for test impact analysis and code intelligence. Maps tests to code and git history to determine impacted tests, risk scores, and ownership for AI coding agents.2MIT
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/HusneShabbir/automation-coverage-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server