dinesh-nalla-se avatar

Playwright Mcp

dinesh-nalla-se/playwright-mcp

Brings Playwright's browser automation into your MCP workflow without needing vision models or screenshots. Instead of pixel-based approaches, it exposes structured accessibility tree data that LLMs can read and act on directly. You get deterministic web interactions through tools that navigate pages, click elements, fill forms, and extract content using selectors. Runs entirely on text snapshots of page structure, making it faster and more reliable than screenshot-based alternatives. Useful when you need an AI agent to scrape data, test web apps, or automate multi-step browser tasks. Works with any MCP client and installs via npx, so no separate browser setup required.

tools
28
auth
Secret needed
transport
STDIO
env var
1
last updated
Nov 17, 2025

Tools

28 tools

Public tool metadata for what this MCP can expose to an agent.

browser_clickPerform click on a web page

Perform click on a web page

No parameter schema in public metadata yet.

browser_closeClose the page

Close the page

No parameter schema in public metadata yet.

browser_console_messagesReturns all console messages

Returns all console messages

No parameter schema in public metadata yet.

browser_dragPerform drag and drop between two elements

Perform drag and drop between two elements

No parameter schema in public metadata yet.

browser_evaluateEvaluate JavaScript expression on page or element

Evaluate JavaScript expression on page or element

No parameter schema in public metadata yet.

browser_file_uploadUpload one or multiple files

Upload one or multiple files

No parameter schema in public metadata yet.

browser_fill_formFill multiple form fields

Fill multiple form fields

No parameter schema in public metadata yet.

browser_handle_dialogHandle a dialog

Handle a dialog

No parameter schema in public metadata yet.

browser_hoverHover over element on page

Hover over element on page

No parameter schema in public metadata yet.

browser_navigateNavigate to a URL

Navigate to a URL

No parameter schema in public metadata yet.

browser_navigate_backGo back to the previous page

Go back to the previous page

No parameter schema in public metadata yet.

browser_network_requestsReturns all network requests since loading the page

Returns all network requests since loading the page

No parameter schema in public metadata yet.

browser_press_keyPress a key on the keyboard

Press a key on the keyboard

No parameter schema in public metadata yet.

browser_resizeResize the browser window

Resize the browser window

No parameter schema in public metadata yet.

browser_run_codeRun Playwright code snippet

Run Playwright code snippet

No parameter schema in public metadata yet.

browser_select_optionSelect an option in a dropdown

Select an option in a dropdown

No parameter schema in public metadata yet.

browser_snapshotCapture accessibility snapshot of the current page, this is better than screenshot

Capture accessibility snapshot of the current page, this is better than screenshot

No parameter schema in public metadata yet.

browser_take_screenshotTake a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.

Take a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.

No parameter schema in public metadata yet.

browser_typeType text into editable element

Type text into editable element

No parameter schema in public metadata yet.

browser_wait_forWait for text to appear or disappear or a specified time to pass

Wait for text to appear or disappear or a specified time to pass

No parameter schema in public metadata yet.

browser_tabsList, create, close, or select a browser tab.

List, create, close, or select a browser tab.

No parameter schema in public metadata yet.

browser_installInstall the browser specified in the config. Call this if you get an error about the browser not being installed.

Install the browser specified in the config. Call this if you get an error about the browser not being installed.

No parameter schema in public metadata yet.

browser_mouse_click_xyClick left mouse button at a given position

Click left mouse button at a given position

No parameter schema in public metadata yet.

browser_mouse_drag_xyDrag left mouse button to a given position

Drag left mouse button to a given position

No parameter schema in public metadata yet.

browser_mouse_move_xyMove mouse to a given position

Move mouse to a given position

No parameter schema in public metadata yet.

browser_pdf_saveSave page as PDF

Save page as PDF

No parameter schema in public metadata yet.

browser_generate_locatorGenerate locator for the given element to use in tests

Generate locator for the given element to use in tests

No parameter schema in public metadata yet.

browser_verify_element_visibleVerify element is visible on the page

Verify element is visible on the page

No parameter schema in public metadata yet.

Sponsors

Configuration

YOUR_API_KEY*secret

Your API key for the service

Readme

Playwright MCP

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.

Requirements

  • Node.js 18 or newer
  • VS Code, Cursor, Windsurf, Claude Desktop, Goose or any other MCP client

Getting started

First, install the Playwright MCP server with your client.

Standard config works in most of the tools:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}

View the full README on GitHub

Details

Repository
github.com/dinesh-nalla-se/playwright-mcp
Category
Web & Browser Automation
Package
@dinesh-nalla-se/playwright-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active

More from dinesh-nalla-se

Related Web & Browser Automation MCP servers

View all
1vola-trebla avatarPlaywright Spatial Layout Mcpvola-trebla/playwright-spatial-layout-mcpMCP server that gives AI agents geometric spatial awareness of web page layouts using Playwright0stars
2unmodeled-tyler avatarVessel Browserunmodeled-tyler/vessel-browserAI-native browser runtime for autonomous agents with human-in-the-loop supervision90stars
3hasdata avatarHasData Web Scrapinghasdata/web-scraping-mcpFetch any public web page through managed proxies, with optional JS rendering and extraction rules.7stars
4tamaspetki avatarHeadless Trackertamaspetki/headlesstrackerRead-only MCP server: your AI sees your crypto portfolio, never your keys. Not financial advice.6stars
5pedro-rivas avatarAndroid Puppeteer Mcppedro-rivas/android-puppeteer-mcpMCP server for Android automation with UI interaction, screenshots, and device control4stars
6vola-trebla avatarPlaywright Trace Decoder Mcpvola-trebla/playwright-trace-decoder-mcpMCP server for unpacking and analyzing Playwright trace.zip archives1stars