Playwright MCP Server
An MCP server using Playwright for browser automation and webscrapping
Playwright MCP Server 🎭
A Model Context Protocol server that provides browser automation capabilities using Playwright. This server enables LLMs to interact with web pages, take screenshots, generate test code, web scraps the page and execute JavaScript in a real browser environment.
Screenshot
Documentation | API reference
Installation
You can install the package using either npm, mcp-get, or Smithery:
Using npm:
npm install -g @executeautomation/playwright-mcp-server
Using mcp-get:
npx @michaellatman/mcp-get@latest install @executeautomation/playwright-mcp-server
Using Smithery
To install Playwright MCP for Claude Desktop automatically via Smithery:
npx @smithery/cli install @executeautomation/playwright-mcp-server --client claude
Installation in VS Code
Install the Playwright MCP server in VS Code using one of these buttons:
Alternatively, you can install the Playwright MCP server using the VS Code CLI:
# For VS Code
code --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'
After installation, the ExecuteAutomation Playwright MCP server will be available for use with your GitHub Copilot agent in VS Code.
Configuration to use Playwright Server
Here's the Claude Desktop configuration to use the Playwright server:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@executeautomation/playwright-mcp-server"]
}
}
}
Testing
This project uses Jest for testing. The tests are located in the src/__tests__
directory.
Running Tests
You can run the tests using one of the following commands:
# Run tests using the custom script (with coverage)
node run-tests.cjs
# Run tests using npm scripts
npm test # Run tests without coverage
npm run test:coverage # Run tests with coverage
npm run test:custom # Run tests with custom script (same as node run-tests.cjs)
The test coverage report will be generated in the coverage
directory.
Running evals
The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/tools/codegen/index.ts
Contributing
When adding new tools, please be mindful of the tool name length. Some clients, like Cursor, have a 60-character limit for the combined server and tool name (server_name:tool_name
).
Our server name is playwright-mcp
. Please ensure your tool names are short enough to not exceed this limit.
Star History
Related Servers
Cloudflare Playwright
Control a browser for web automation tasks like navigation, typing, clicking, and taking screenshots using Playwright on Cloudflare Workers.
BrowserCat
Automate remote browsers using the BrowserCat API.
Scrapezy
Extract structured data from websites using the Scrapezy API.
Yahoo Finance
Interact with Yahoo Finance to get stock data, market news, and financial information using the yfinance Python library.
MCP Chrome Server
A server for browser automation using Google Chrome, based on the MCP framework.
Google Maps Reviews MCP Server
Summarizes reviews for a specific location from Google Maps.
YouTube Translate MCP
Access YouTube video transcripts and translations using the YouTube Translate API.
Markdown Downloader
Download webpages as markdown files using the r.jina.ai service, with configurable directories and persistent settings.
MCP Orlen Wholesale Price
Model Context Protocol Servers for Orlen Wholesale Price.
YouTube
Fetch YouTube subtitles