semantic-dom-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QA_MCP_TEAM_NAME | No | Optional team name used in the write_playwright_test prompt. | QA |
| QA_MCP_ALLOWED_HOSTS | Yes | Comma-separated hostnames the server may navigate to. Navigation is denied by default. Supports host, host:port, and *.domain entries. | |
| QA_MCP_STORAGE_STATE | No | Optional path to a Playwright storageState JSON for pre-authenticated staging sessions. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| extract_semantic_domA | Navigate to a staging URL and return factual Semantic JSON of all interactive/test-relevant elements with Playwright-native locators and live state. Use this before writing any Playwright test so selectors are real, not guessed. |
| extract_semantic_dom_afterA | Like extract_semantic_dom, but first performs a short DECLARED list of actions (fill/click/press/wait) in the main frame, then returns Semantic JSON of the RESULTING state. Use it for post-interaction UI a plain snapshot cannot see: success/error toasts, validation messages, opened dialogs. Derive action locators from a prior extract_semantic_dom call. The page must remain on allowlisted hosts after the actions, or nothing is extracted. Uniqueness reflects capture time — accumulating UI (chat threads, lists) can multiply matches later. |
| list_framesA | Diagnostic: navigate to a URL and return its frame tree (frame_path, url, name, same_origin, reachable). Useful for debugging cross-origin iframe boundaries before extraction. |
| check_authA | Diagnostic: navigates with the configured QA_MCP_STORAGE_STATE session and reports whether the page bounced to a login-looking path (session likely expired). Use when extractions unexpectedly return login forms instead of the requested page. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| write_playwright_test | Team-standard prompt for writing a Playwright test in TypeScript from a Semantic DOM extraction. Ensures every engineer gets identical conventions: locator usage, frame chaining, structure, assertions, and single-snapshot state honesty. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| playwright-conventions | The team's non-negotiable Playwright test-writing conventions (read-only). |
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/helmif/semantic-dom-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server