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. |
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 | {} |
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 | |
TDQS
Scored across 24 tools
Multiple tools perform clicking (browser_click, browser_click_at, browser_click_locator, browser_click_at_rel, browser_evaluate_click, browser_evaluate_click_by_text) and several snapshot/probe tools overlap (browser_snapshot, browser_snapshot_frame, browser_frame_probe, browser_frame_inventory). Descriptions differentiate by method and use case, but the boundaries are subtle and could easily confuse an agent.
All tools share the 'browser_' prefix and mostly follow a consistent verb-first pattern (navigate, click, type, hover). A few noun-based names like browser_frame_bbox and browser_frame_inventory deviate slightly, but overall the convention is predictable and readable.
At 24 tools, this sits at the upper boundary of a comprehensive browser automation server. The count is justified by the wide range of interactions (clicks, typing, iframes, canvas, debugging), but it feels slightly heavy—some click variants could be consolidated.
The tool surface covers essential browser operations: navigation, history, waiting, clicking, typing, selecting, screenshots, and iframe support. Advanced probing and debug tools fill niche gaps. Minor omissions like an explicit scroll or text-extraction tool are workable via snapshots or evaluate, so the set is nearly complete.