MCP server for browser automation using Playwright
npm install @automatalabs/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
- Features
- Installation
- Configuration
- Components
- Tools
- Resources
- License
- 🌐 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
To install MCP Server Playwright for Claude Desktop automatically via Smithery:
``bash`
npx @smithery/cli install @automatalabs/mcp-server-playwright --client claude
You can install the package using either npx or mcp-get:
Using npx:
`bash`
npx @automatalabs/mcp-server-playwright install
This command will:
1. Check your operating system compatibility (Windows/macOS)
2. Create or update the Claude configuration file
3. Configure the Playwright server integration
The configuration file will be automatically created/updated at:
- Windows: %APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json
- macOS:
Using mcp-get:
`bash`
npx @michaellatman/mcp-get@latest install @automatalabs/mcp-server-playwright
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"]
}
}
}
#### browser_navigate`
Navigate to any URL in the browserjavascript`
{
"url": "https://stealthbrowser.cloud"
}
#### browser_screenshot`
Capture screenshots of the entire page or specific elementsjavascript`
{
"name": "screenshot-name", // required
"selector": "#element-id", // optional
"fullPage": true // optional, default: false
}
#### browser_click`
Click elements on the page using CSS selectorjavascript`
{
"selector": "#button-id"
}
#### browser_click_text`
Click elements on the page by their text contentjavascript`
{
"text": "Click me"
}
#### browser_hover`
Hover over elements on the page using CSS selectorjavascript`
{
"selector": "#menu-item"
}
#### browser_hover_text`
Hover over elements on the page by their text contentjavascript`
{
"text": "Hover me"
}
#### browser_fill`
Fill out input fieldsjavascript`
{
"selector": "#input-field",
"value": "Hello World"
}
#### browser_select`
Select an option in a SELECT element using CSS selectorjavascript`
{
"selector": "#dropdown",
"value": "option-value"
}
#### browser_select_text`
Select an option in a SELECT element by its text contentjavascript`
{
"text": "Choose me",
"value": "option-value"
}
#### browser_evaluate`
Execute JavaScript in the browser consolejavascript`
{
"script": "document.title"
}
1. Console Logs (console://logs)
- Access browser console output in text format
- Includes all console messages from the browser
2. Screenshots (screenshot://
- Access PNG images of captured screenshots
- Referenced by the name specified during capture
This project is licensed under the MIT License - see the LICENSE file for details.