Browserose MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLAYWRIGHT_MCP_HEADLESS | No | Set to 1 or true to run the browser headless (default: headed) | |
| PLAYWRIGHT_MCP_USE_CHROMIUM | No | Set to 1 or true to use Playwright's Chromium instead of system Chrome. | |
| PLAYWRIGHT_MCP_VIEWPORT_WIDTH | No | Viewport width in pixels (default: 1280). Used only when maximized is off. | |
| PLAYWRIGHT_MCP_VIEWPORT_HEIGHT | No | Viewport height in pixels (default: 800). Used only when maximized is off. | |
| PLAYWRIGHT_MCP_VIEWPORT_MAXIMIZED | No | Window opens maximized by default. Set to 0 or false to use a fixed size. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser_snapshotA | Capture accessibility snapshot of the current page. Use for getting refs to interact with. Set includeFrames true to include iframe content. |
| browser_snapshot_frameA | Snapshot a single iframe by selector. Use ' >> ' for nested frames, e.g. iframe#pplayer_iframe >> iframe#modulePlayerIframe. |
| browser_navigateC | Navigate to a URL |
| browser_go_backB | Go back in history |
| browser_go_forwardA | Go forward in history |
| browser_waitB | Wait for a number of seconds |
| browser_clickA | Click an element by ref from the snapshot. Use frameSelector for iframes; chain with ' >> ' for nested frames. |
| browser_typeA | Type text into the focused element or into the element identified by ref. Use frameSelector for elements inside an iframe. |
| browser_hoverA | Hover over an element by ref. Use frameSelector when target is inside an iframe. |
| browser_select_optionA | Select option(s) in a dropdown by ref. Use frameSelector when inside an iframe. |
| browser_press_keyB | Press a key (e.g. Enter, Tab, ArrowRight). Use frameSelector to send to an iframe. |
| browser_screenshotA | Take a screenshot of the page or of a specific iframe. |
| browser_click_atA | Click at (x, y) relative to a frame's viewport. Use when snapshot/refs are unavailable (e.g. cross-origin or canvas). Chain frameSelector for nested frames. |
| browser_click_locatorA | Click by Playwright locator. Use frameSelector for iframes; omit for main page. Provide one of: role+name, text, or css. Optional: nth (0-based index), enabledOnly (click first enabled match), scopeCss (resolve within container). |
| browser_type_locatorA | Type text into an element found by locator. Omit frameSelector for main page. Provide one of: role+name, text, or css. Optional: nth (0-based index), scopeCss (resolve within container). |
| browser_list_clickablesA | List visible clickable elements (buttons, links) in a frame. Optionally filter by role+name, text, or css; filter by enabledOnly; or scope to a container (scopeCss). Use to discover what to click without snapshot. |
| browser_frame_probeA | Run a small diagnostic inside a frame: url, title, readyState, counts (buttons, clickables), textSample. Use to see if Playwright can see DOM (if probe fails or counts=0, UI may be canvas). |
| browser_frame_bboxA | Get bounding box (x, y, width, height) of the frame in page coordinates. Use with browser_click_at or to compute relative clicks. |
| browser_click_at_relB | Click at relative position (rx, ry) in [0..1] inside the frame. E.g. (0.5, 0.9) = center-bottom. Uses Playwright page.mouse.click for reliable coordinates. |
| browser_frame_inventoryA | Run inside the frame: list child iframes (id, name, src, rect), canvas elements (rect), count of open shadow roots, bodyRect. Use to see if visible UI is in a nested iframe or canvas. |
| browser_hit_test_relA | Return element at relative (rx, ry) in [0..1] inside the frame via elementFromPoint. Returns tag, id, class, rect, pointerEvents, cursor; if iframe, includes src/name. Confirms where clicks land. |
| browser_click_at_rel_debugA | Return frame screenshot plus exact page coordinates and in-frame pixel where click_at_rel(rx, ry) would click. No dot drawn; use to verify target. |
| browser_evaluate_clickA | Click an element inside a frame via DOM .click() (runs in frame context). Bypasses visibility/actionability. Use when locator click fails (e.g. SUBMIT disabled or not visible). Same-origin frame only. |
| browser_evaluate_click_by_textA | Click an element by its text content via DOM .click() inside the frame. Bypasses visibility/actionability and overlay issues. Use when locator/click_at_rel fail (e.g. quiz options). Same-origin frame only. |
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/ettomarett/Browserose-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server