
ExecuteAutomation Playwright MCP Server: Setup for Claude, Cursor and Other Apps
Not the official Playwright MCP server. This one is built by the community. Playwright makes its own: Playwright MCP →
Lets Claude, Cursor and other assistants open a real browser, click and type on pages, take screenshots, run JavaScript and send API requests.
This is a community server by ExecuteAutomation, not the Playwright team's own. It runs on your computer and drives Chromium, Firefox or WebKit through Playwright. The browser opens in a visible window unless the assistant asks for headless mode. It needs no account or API key, and it downloads the browsers it needs the first time you use it.
It can run any JavaScript in the page, upload files from your computer to a site, and send POST, PUT and DELETE requests. Start it on test sites first. Microsoft publishes a separate server for Playwright, so check which one a guide means before you copy its config.
Good for
- Developers who want the assistant to test a web app in a real browser
- QA engineers who want Playwright test code written from the steps the assistant takes
- Anyone who wants to scrape or check a page as it looks on a phone or tablet
- Teams that need quick API checks next to the browser steps
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install mcp-playwright
Claude Code
- 1
Copy this prompt.
Add the mcp-playwright server to Claude Code. Run this command: claude mcp add playwright -- npx -y @executeautomation/playwright-mcp-server Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
Built from the package data we hold. Not yet tested by us.
Tools
Start recording actions as a test
Starts a session that records the browser steps your assistant takes, so they can become a Playwright test file. You give it a folder to save into.
Try: “Start recording a test into /Users/me/tests.”
Write ·
start_codegen_sessionFinish recording and write the test file
Ends a recording session and writes the generated test file into the folder you chose.
Try: “End the recording and save the test.”
Write ·
end_codegen_sessionLook at a recording session
Returns details about one recording session by its ID.
Try: “Show me the current recording session.”
Read ·
get_codegen_sessionThrow away a recording
Clears a recording session without writing a test.
Try: “Discard the recording.”
Write ·
clear_codegen_sessionOpen a web address in the browser
Opens a URL in a Chromium, Firefox or WebKit browser. A visible browser window opens unless you ask for headless mode.
Try: “Open https://example.com in a browser.”
Network ·
playwright_navigateTake a screenshot
Takes a screenshot of the page or of one element, and can save it as a PNG file.
Try: “Take a screenshot of the pricing table.”
Files ·
playwright_screenshotClick an element
Clicks an element on the page that you pick with a CSS selector.
Try: “Click the Sign in button.”
Write ·
playwright_clickClick inside an iframe
Clicks an element that sits inside an iframe on the page.
Try: “Click Pay inside the payment frame.”
Write ·
playwright_iframe_clickType into a field inside an iframe
Types a value into an input that sits inside an iframe.
Try: “Type the email address into the checkout frame.”
Write ·
playwright_iframe_fillFill in an input field
Types a value into an input field you pick with a CSS selector.
Try: “Fill the search box with 'running shoes'.”
Write ·
playwright_fillPick a dropdown option
Chooses an option in a select dropdown.
Try: “Select Canada in the country dropdown.”
Write ·
playwright_selectHover over an element
Moves the mouse over an element, for menus that open on hover.
Try: “Hover over the Products menu.”
Write ·
playwright_hoverUpload a file to a page
Puts a file from an absolute path on your computer into a file upload input on the page.
Try: “Upload /Users/me/cv.pdf to the application form.”
Files ·
playwright_upload_fileRun JavaScript in the page
Runs JavaScript code you provide inside the browser page and returns the result.
Try: “Run JavaScript to count the links on this page.”
Runs code ·
playwright_evaluateRead the browser console
Returns console messages from the page, which you can filter by type such as error or warning.
Try: “Show me the console errors.”
Read ·
playwright_console_logsResize the browser or emulate a device
Changes the viewport size, or applies one of 143 device presets such as iPhone 13 or iPad Pro 11.
Try: “Show this page as it looks on iPhone 13.”
Write ·
playwright_resizeClose the browser
Closes the browser and releases its resources.
Try: “Close the browser.”
Write ·
playwright_closeSend an HTTP GET request
Sends a GET request to a URL from your computer, with optional headers and bearer token.
Try: “GET https://api.example.com/status.”
Network ·
playwright_getSend an HTTP POST request
Sends a POST request with a body, optional headers and a bearer token.
Try: “POST this JSON to https://api.example.com/items.”
Write ·
playwright_postSend an HTTP PUT request
Sends a PUT request with a body, which usually replaces a record on the server.
Try: “PUT this JSON to /items/42.”
Write ·
playwright_putSend an HTTP PATCH request
Sends a PATCH request with a body, which usually changes part of a record.
Try: “PATCH the name field of /items/42.”
Write ·
playwright_patchSend an HTTP DELETE request
Sends a DELETE request to a URL, which usually removes a record on the server.
Try: “DELETE https://api.example.com/items/42.”
Delete ·
playwright_deleteStart waiting for a response
Tells the browser to start waiting for a response from a URL. It returns at once and does not wait.
Try: “Start waiting for the /api/login response.”
Network ·
playwright_expect_responseCheck the response it waited for
Waits for the response set up earlier and checks it, optionally against a value you expect.
Try: “Check that the login response said ok.”
Network ·
playwright_assert_responseSet the browser's user agent
Sets the user agent string the browser sends to websites.
Try: “Use an iPhone user agent.”
Write ·
playwright_custom_user_agentRead the visible text of the page
Returns the text that is visible on the current page.
Try: “Read the text on this page.”
Read ·
playwright_get_visible_textRead the page's HTML
Returns the HTML of the current page, with script tags removed unless you ask to keep them.
Try: “Give me the HTML of the nav bar.”
Read ·
playwright_get_visible_htmlGo back in history
Goes back one page in the browser history.
Try: “Go back.”
Write ·
playwright_go_backGo forward in history
Goes forward one page in the browser history.
Try: “Go forward.”
Write ·
playwright_go_forwardDrag one element onto another
Drags an element and drops it on a target element.
Try: “Drag the card into the Done column.”
Write ·
playwright_dragPress a keyboard key
Presses a key such as Enter or Escape, optionally on a chosen element.
Try: “Press Enter in the search box.”
Write ·
playwright_press_keySave the page as a PDF
Saves the current page as a PDF file in a folder you choose.
Try: “Save this page as a PDF in my Downloads folder.”
Write ·
playwright_save_as_pdfClick a link and follow it to its new tab
Clicks a link that opens a new tab and switches the browser to that tab.
Try: “Click the docs link and move to the new tab.”
Write ·
playwright_click_and_switch_tab
Read from the source code
Permissions
high risk · 5 things to watch
High risk
The assistant can drive a real browser, run its own JavaScript on pages, upload files and send API requests that change or delete data. Use it on test sites with test accounts and watch the browser window while it works.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It runs JavaScript on any page it opens
The evaluate tool runs code you or the assistant provide inside the browser page. Only use it on sites you trust, and never while signed in to accounts you care about. github.com
It can send DELETE, PUT and POST requests
The HTTP tools act with whatever token the assistant passes in. Give it test credentials, not production tokens. github.com
It can upload local files to a website
The upload tool takes any absolute file path on your computer and puts that file into a page's upload field. Keep sensitive files out of reach and watch which page is open. github.com
It writes files to folders it is given
Screenshots, PDFs and generated tests are saved to paths the assistant chooses. Check the folder before you accept. github.com
Local HTTP mode has no sign-in
The optional port mode is documented as localhost only. For remote use the README suggests an SSH tunnel instead of opening it up. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only mode is documented. |
|---|---|
| Talks to | Any website or API address the assistant opens or calls from your computer |
| Sign-in and keys | No account or key. Optional bearer tokens are passed in individual tool calls. |
Questions
Is this the official Playwright MCP server?
No. It is made by ExecuteAutomation, a community project. Microsoft publishes its own Playwright server. The two have different tools and different install commands.
Does it need an API key?
No. It needs no account or key. It downloads the Chromium, Firefox and WebKit browsers on first use, or you can install them yourself with the Playwright command in the README.
Does it work in Claude Desktop?
Yes, in standard stdio mode, which the README recommends for Claude Desktop. The optional port mode is for VS Code, custom clients and remote use, and needs type http in the client config.
Can it run without a visible browser window?
Yes. The browser opens in a visible window by default, and the navigate tool takes a headless option to hide it.
Can I run it read-only?
No. No read-only mode is documented. It has click, fill, upload, JavaScript and write-style HTTP tools, so only point it at sites and accounts you can afford to change.
Can it write Playwright tests?
Yes. The recording tools save the steps the assistant performs as a Playwright test file in a folder you choose.
Is it free?
Yes. It is open source under the MIT license and runs on your computer with no usage fee.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
@executeautomation/playwright-mcp-server- Registry
- npm
- Transport
- stdio
- Auth
- None
- License
- MIT
- Last commit
- Dec 13, 2025
- Open issues
- 32
- Listed in
- Docker MCP Catalog
Other Playwright MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- github.com · github.com
- github.com · github.com