playwright-mcp-advancedBLOCK
Playwright MCP server - oficial fork with additional features
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Advanced Playwright MCP
This is an advanced version of the Playwright MCP that provides additional tools for browser automation.
A Model Context Protocol (MCP) server that provides browser automation capabilities using Playwright. This server enables LLMs to interact with web pages through structured accessibility snapshots, bypassing the need for screenshots or visually-tuned models.
Key Features
- Fast and lightweight. Uses Playwright's accessibility tree, not pixel-based input.
- LLM-friendly. No vision models needed, operates purely on structured data.
- Deterministic tool application. Avoids ambiguity common with screenshot-based approaches.
🚀 Advanced Features
This advanced version includes additional capabilities not available in the original Playwright MCP:
📸 Enhanced Screenshot Tools
- Full page screenshots - Capture entire scrollable page content with
fullPage: true - Element screenshots by locator - Screenshot specific elements using Playwright locators (
#id,.class,text=Hello) - Multiple element screenshots - Capture multiple elements simultaneously with locator arrays
- Vision mode enhancements - All screenshot capabilities available in vision mode
🔍 HTML Content Extraction
- `browser_get_html_content` - Extract HTML content from the entire page or specific elements
- `browser_get_outer_html` - Get complete element HTML including the element tag itself
- Batch processing - Extract HTML from multiple elements in parallel
- Error handling - Graceful handling of missing elements
📋 Element Snapshot Tools
- `browser_element_snapshot` - Capture accessibility snapshots of specific elements by locator(s)
- Structured element data - Get tag names, text content, attributes, and visibility status
- Multiple element snapshots - Process multiple elements simultaneously with locator arrays
- **
fe280c234d11OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add playwright-mcp-advanced -- npx -y [email protected]
{
"mcpServers": {
"playwright-mcp-advanced": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (41)
36 read · 4 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
analyze_page_prompt | read | Generate a prompt for analyzing the current page |
browser_click | read | Perform click on a web page |
browser_close | read | Close the page |
browser_console_messages | read | Returns all console messages |
browser_drag | destructive | Perform drag and drop between two elements |
browser_element_snapshot | read | Capture accessibility snapshot of specific elements by locator(s). Better than screenshot for specific elements. |
browser_evaluate | read | Evaluate JavaScript expression on page or element |
browser_file_upload | write | Upload one or multiple files |
browser_get_html_content | read | Get HTML content of the current page or specific elements. Returns full page HTML by default, or HTML of specific elements when locator(s) provided. |
browser_get_outer_html | read | Get outer HTML content of specific elements (includes the element tag itself). Requires locator(s) to be specified. |
browser_handle_dialog | read | Handle a dialog |
browser_hover | read | Hover over element on page |
browser_install | write | Install the browser specified in the config. Call this if you get an error about the browser not being installed. |
browser_mouse_click_xy | read | Click left mouse button at a given position |
browser_mouse_drag_xy | read | Drag left mouse button to a given position |
browser_mouse_move_xy | write | Move mouse to a given position |
browser_navigate | read | Navigate to a URL with enhanced logging (plugin version) |
browser_navigate_back | read | Go back to the previous page |
browser_navigate_forward | read | Go forward to the next page |
browser_network_requests | read | Returns all network requests since loading the page |
browser_pdf_save | write | Save page as PDF |
browser_press_key | read | Press a key on the keyboard |
browser_resize | read | Resize the browser window |
browser_screen_capture | read | Take a screenshot of the current page. You can |
browser_select_option | read | Select an option in a dropdown |
browser_snapshot | read | Capture accessibility snapshot of the current page, this is better than screenshot |
browser_tab_close | read | Close a tab |
browser_tab_list | read | List browser tabs |
browser_tab_new | read | Open a new tab |
browser_tab_select | read | Select a tab by index |
browser_type | read | Type text into editable element |
browser_wait_for | read | Wait for text to appear or disappear or a specified time to pass |
custom_folder_test | read | A test tool to verify custom plugins folder functionality |
example_action | read | An example custom action provided by a plugin |
example_prompt | read | An example prompt from a plugin |
example_property | read | An example property from a plugin |
example_resource | read | An example resource from a plugin |
focus | read | What to focus the analysis on (structure, performance, accessibility) |
page_analysis | read | Analyze the current page for common elements and patterns |
plugins_manage | read | Manage plugins: list, get info, reload, or show shadow information |
topic | read | Topic to ask about |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (5 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (10)
const evaluateFunction = new Function('return ' + params.function)();-----BEGIN PRIVATE KEY-----
browser_drag
const result = Function('"use strict"; return (' + sanitized + ')')();import { defineTool } from '../../../dist/tools/tool.js';import type { Plugin } from '../../../src/plugins/types.js';import { defineTool } from '../../../src/tools/tool.js';import { defineTool } from '../../../dist/tools/tool.js';import type { Plugin } from '../../../src/plugins/types.js';@modelcontextprotocol/sdk, commander, debug, mime, tsx, ws, zod-to-json-schema, @eslint/eslintrc
Gates applied: no_behavioural_pass.
fe280c234d11full audit observations/trust-audit/mcp-server/viktor-silakov__playwright-mcp-advanced.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | fe280c234d11 | BLOCK | D | 69 | first audit |
Questions
What is the playwright-mcp-advanced MCP server?
Playwright MCP server - oficial fork with additional features
What tools does playwright-mcp-advanced expose?
41 in total: 36 read-only, 4 that write, and 1 that can delete or overwrite (browser_drag). Every one is listed on this page with its risk.
Is playwright-mcp-advanced safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does playwright-mcp-advanced need?
No credential environment variables were found in its source, so it appears to need none.
How does playwright-mcp-advanced run?
It speaks sse, stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as playwright-mcp-advanced at 0.1.0.
How current is this page?
The grade is for one exact copy of the source (fe280c234d11), read on 2026-10-11. The repository is watched and re-audited when it changes.