A Model Context Protocol server that provides browser automation capabilities using Playwright
15 stars1 watching2 forks
<h1 align="center">MCP Server Playwright</h1>
<p align="center">
<a href="https://www.automatalabs.io"><img alt="MCP Playwright" src="https://automatalabs.io/icon.svg" height="250"/></a>
</p>
<p align="center">
<b>A Model Context Protocol server that provides browser automation capabilities using Playwright</b></br>
<sub>Enable LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment</sub>
</p>
<p align="center">
<a href="https://www.npmjs.com/package/@automatalabs/mcp-server-playwright"><img alt="NPM Version" src="https://img.shields.io/npm/v/@automatalabs/mcp-server-playwright.svg" height="20"/></a>
<a href="https://npmcharts.com/compare/@automatalabs/mcp-server-playwright?minimal=true"><img alt="Downloads per month" src="https://img.shields.io/npm/dm/@automatalabs/mcp-server-playwright.svg" height="20"/></a>
<a href="https://github.com/Automata-Labs-team/MCP-Server-Playwright/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/Automata-Labs-team/MCP-Server-Playwright.svg" height="20"/></a>
</p>
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
npx playwright install
npm install -g @automatalabs/mcp-server-playwright
Configuration
To use the Playwright server with Claude Desktop, add the following configuration:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@automatalabs/mcp-server-playwright"]
}
}
}
Components
Tools
playwright_navigate
Navigate to any URL in the browser
{
"url": "https://stealthbrowser.cloud"
}
playwright_screenshot
Capture screenshots of the entire page or specific elements
{
"name": "screenshot-name", // required
"selector": "#element-id", // optional
"fullPage": true // optional, default: false
}
playwright_click
Click elements on the page using CSS selector
{
"selector": "#button-id"
}
playwright_click_text
Click elements on the page by their text content
{
"text": "Click me"
}
playwright_hover
Hover over elements on the page using CSS selector
{
"selector": "#menu-item"
}
playwright_hover_text
Hover over elements on the page by their text content
{
"text": "Hover me"
}
playwright_fill
Fill out input fields
{
"selector": "#input-field",
"value": "Hello World"
}
playwright_select
Select an option in a SELECT element using CSS selector
{
"selector": "#dropdown",
"value": "option-value"
}
playwright_select_text
Select an option in a SELECT element by its text content
{
"text": "Choose me",
"value": "option-value"
}
playwright_evaluate
Execute JavaScript in the browser console
{
"script": "document.title"
}
Resources
-
Console Logs (
console://logs
)- Access browser console output in text format
- Includes all console messages from the browser
-
Screenshots (
screenshot://<name>
)- 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.
Features
automation
screenshots
interaction
monitoring
scripting
Category
Browser Automation