playwright-fixer-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| analyze_and_fix_selectorA | Analyze Playwright failure: require reading the full spec for context first; use error message + screenshot path (and optional DOM snapshot) to suggest a stable locator fix (getByRole preferred). |
| get_playwright_fix_workflowA | Return the recommended workflow when fixing Playwright tests: (1) Read the entire test case first for context, (2) On failure, analyze the screenshot together with the error message. |
| get_internal_locator_rulesA | Return company internal Playwright locator rules (getByRole preferred, no XPath). |
| get_tag_run_ruleC | Return the rule: when user inputs npx playwright test --grep @AUT-xxx or @AUT-xxx (test tag), automatically trigger MCP run. Call run_test_and_analyze_failure first; on failure use its return to call analyze_and_fix_selector. |
| run_test_and_analyze_failureA | Run npx playwright test --grep @. Returns passed/failed + resolvedContext (hover/fill/iframe/default) + artifacts for analyze_and_fix_selector. Enforces retry stop-loss: returns shouldStop:true when attemptNumber >= 3, requiring human escalation. |
| validate_and_apply_fixA | Validate proposed code changes against LOCATOR_VIOLATION_RULES (no XPath, no bare CSS classes, iframe must use frame.locator), then apply to spec file. Returns violations if any error-level rule is violated — model must fix and retry. This is the only valid path to write spec changes; direct file edits bypass LOCATOR_RULES enforcement. |
| resolve_spec_by_tagA | Resolve the absolute spec file path that contains a given @AUT-xxx tag by scanning test specs. This enables the required workflow: read the spec FIRST (read_spec_file) to understand intent, then run the test. Avoid guessing which spec to read — this tool deterministically finds it. |
| read_spec_fileA | Read the full content of a spec file and auto-resolve its imported page object. Provides the model with complete, deterministic test context — full step flow, helper DSL calls, and selector definitions — before calling analyze_and_fix_selector. Never let the model guess about test intent; call this first. |
| read_page_object_selectorsA | Extract all selector definitions from a page object file. Returns a getter → elementName → selector mapping so the model sees the exact CSS/attribute selectors in use — essential for diagnosing broken selectors without guessing. If structured extraction fails, returns the raw file content as fallback. |
| get_failure_artifactsA | Scan the test-results directory for failure artifacts: latest screenshot path, trace.zip path. Provides deterministic artifact location so the model never guesses where failure evidence is stored. The model should open the screenshot and pass screenshotPath + tracePath into analyze_and_fix_selector. |
| get_iframe_contextA | Extract iframe selector and frame-related operations from a spec file and its page object. Returns the iframe locator string, count of frame operations, and enforcement reminder. Call this for any failure whose context is 'iframe' to provide deterministic frame structure before calling analyze_and_fix_selector — the model must never guess the iframe selector. |
| propose_rule_evolutionA | After a test passes following an automated fix, propose the learned pattern as a new rule entry. This tool writes the proposal to a PENDING queue file for human review — it does NOT modify any .cursor/rules files directly. A human must mark the entry APPROVED before it can be applied. This is the governance layer: the AI proposes, the human decides. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/BobChochola/E2E-fixer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server