@Automata-Labs-team/MCP-Server-Playwright: MCP Server Playwright
MCP Server Playwright is a Model Context Protocol server that enables browser automation using Playwright, allowing LLMs to interact with web pages, capture screenshots, and execute JavaScript in a real browser environment.
Author
Automata-Labs-team
README
MCP Server Playwright
A Model Context Protocol server that provides browser automation capabilities using Playwright
Enable LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment
Table of Contents
Features
- 🌐 Full browser automation capabilities
- 📸 Screenshot capture of entire pages or specific elements
- 🖱️ Comprehensive web interaction (navigation, clicking, form filling)
- 📊 Console log monitoring
- 🔧 JavaScript execution in browser context
Installation
Installing via Smithery
To install MCP Server Playwright for Claude Desktop automatically via Smithery:
bashnpx -y @smithery/cli install @automatalabs/mcp-server-playwright --client claude
You can install the package using either npx or mcp-get:
Using npx:
bashnpx @automatalabs/mcp-server-playwright install
This command will:
- Check your operating system compatibility (Windows/macOS)
- Create or update the Claude configuration file
- Configure the Playwright server integration
The configuration file will be automatically created/updated at:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Using mcp-get:
bashnpx @michaellatman/mcp-get@latest install @automatalabs/mcp-server-playwright
Configuration
The installation process will automatically add the following configuration to your Claude config file:
json{ "mcpServers": { "playwright": { "command": "npx", "args": ["-y", "@automatalabs/mcp-server-playwright"] } } }
Components
Tools
browser_navigate
Navigate to any URL in the browser
javascript{ "url": "https://stealthbrowser.cloud" }
browser_screenshot
Capture screenshots of the entire page or specific elements
javascript{ "name": "screenshot-name", // required "selector": "#element-id", // optional "fullPage": true // optional, default: false }
browser_click
Click elements on the page using CSS selector
javascript{ "selector": "#button-id" }
browser_click_text
Click elements on the page by their text content
javascript{ "text": "Click me" }
browser_hover
Hover over elements on the page using CSS selector
javascript{ "selector": "#menu-item" }
browser_hover_text
Hover over elements on the page by their text content
javascript{ "text": "Hover me" }
browser_fill
Fill out input fields
javascript{ "selector": "#input-field", "value": "Hello World" }
browser_select
Select an option in a SELECT element using CSS selector
javascript{ "selector": "#dropdown", "value": "option-value" }
browser_select_text
Select an option in a SELECT element by its text content
javascript{ "text": "Choose me", "value": "option-value" }
browser_evaluate
Execute JavaScript in the browser console
javascript{ "script": "document.title" }
Resources
-
Console Logs (
console://logs
)- Access browser console output in text format
- Includes all console messages from the browser
-
Screenshots (
screenshot://<n>
)- Access PNG images of captured screenshots
- Referenced by the name specified during capture
License
This project is licensed under the MIT License - see the LICENSE file for details.