User stories to verified Playwright tests, and self-healing locators with an audit trail.
MCPpedia last refreshed this data
io.github.K11-Software-Solutions/playwright-qa is an MCP server that user stories to verified Playwright tests, and self-healing locators with an audit trail. Its tool list has not been published yet over stdio, requires no API key, and scores 54/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-k11-software-solutions-playwright-qa": {
"command": "npx",
"args": [
"-y",
"k11-playwright-qa-mcp"
]
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
User stories to verified Playwright tests, and self-healing locators with an audit trail.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y 'k11-playwright-qa-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked k11-playwright-qa-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in browser
Open-source web scraper for AI agents with scrape, crawl, and map tools
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.
Firecrawl, the context API for AI agents: search, scrape, interact with the web, plus paper search.
MCP Security Weekly
Get CVE alerts and security updates for io.github.K11-Software-Solutions/playwright-qa and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Turn user stories into Playwright tests that actually pass, and fix the ones a redesign just broke.
AI coding assistants write Playwright tests quickly, but they guess selectors. The tests look right, then fail on the first run, or break the next time someone renames a CSS class. This MCP server gives the assistant the facts it can't guess:
getByTestId, getByRole, getByLabel, ...).test.step per step.Works with Claude Code (as a plugin with /story-to-test and /heal-tests commands), Claude Desktop, and any other MCP client. Listed in the official MCP Registry as io.github.K11-Software-Solutions/playwright-qa.
The demo app ships in two versions. In v2 a redesign renamed every id, changed the button text from "Sign in" to "Log in", swapped the CSS classes and added a "Continue with Google" button. A test using page.locator('#login-btn') fails. heal_locator returns (trimmed):
{
"status": "healed",
"original": "page.locator('#login-btn')",
"suggestion": "page.getByRole('button', { name: 'Log in' })",
"confidence": 0.87,
"reasons": [
"name equivalent: \"Sign in\" → \"Log in\"",
"id similar (50%): \"login-btn\" → \"signin-submit\"",
"role matches", "type matches", "tag matches",
"classes similar (64%): \"btn btn-primary\" → \"cta cta-primary\""
],
"candidates": [
{ "locator": "page.getByRole('button', { name: 'Log in' })", "score": 0.87 },
{ "locator": "page.getByRole('button', { name: 'Continue with Google' })", "score": 0.42 },
{ "locator": "page.getByRole('heading', { name: 'Log in to Acme Store' })", "score": 0.15 }
],
"referenceSource": "baseline"
}
It picked the right button over the look-alike, and the suggestion is a role-based locator that would have survived the redesign in the first place.
| Tool | What it does |
|---|---|
explore_page | Opens a URL and lists elements with locators verified to match exactly one element. |
check_locator | Counts what a locator matches on a page (1 = good) and whether it's visible. |
parse_user_story | User story → structured scenarios + a Playwright Test skeleton. |
write_test | Writes a spec into tests/. Refuses paths outside it; won't overwrite unless asked. |
run_tests | Runs Playwright Test and returns per-test results with the failing locator. |
capture_baseline | While tests pass, fingerprints the element each locator matches (.qa-mcp/baselines.json). |
heal_locator | Finds the intended element after a UI change and suggests a verified replacement. |
save_login_state | Logs in once with a few steps and saves the session for the other tools and your tests. |
explore_page, check_locator, capture_baseline and heal_locator accept an optional session to reach pages behind a login or several steps into a flow.
Prompt: story_to_playwright, a guided workflow from story to passing test.
capture_baseline records each element's fingerprint: role, accessible name, test id, id, name, type, label, placeholder, classes, text and href.run_tests reports a failure, it includes the locator Playwright was waiting for.