https://github.com/Automata-Labs-team/MCP-Server-Playwright
MCP server for browser automation using Playwright
https://github.com/Automata-Labs-team/MCP-Server-Playwright
Last synced: about 2 months ago
JSON representation
MCP server for browser automation using Playwright
- Host: GitHub
- URL: https://github.com/Automata-Labs-team/MCP-Server-Playwright
- Owner: Automata-Labs-team
- License: mit
- Created: 2024-12-02T08:15:20.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-06-05T21:48:28.000Z (4 months ago)
- Last Synced: 2025-08-08T05:48:29.831Z (2 months ago)
- Language: JavaScript
- Size: 101 KB
- Stars: 238
- Watchers: 2
- Forks: 31
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-devops-mcp-servers - Automata-Labs-team/MCP-Server-Playwright - An MCP server for browser automation using Playwright (CI/CD & DevOps Pipelines / 📂 Browser Automation)
- awesome-mcp-list - @automatalabs/mcp-server-playwright - Labs-team/MCP-Server-Playwright?style=social)](https://github.com/Automata-Labs-team/MCP-Server-Playwright): Controls web browsers via Playwright through MCP commands. (Uncategorized / Uncategorized)
- awesome-mcp-zh - automatalabs/mcp-server-playwright
- best-of-mcp-servers - GitHub - 83% open · ⏱️ 05.06.2025) (Browser Automation)
- awesome-mcp-servers - @automatalabs/mcp-server-playwright - An MCP server for browser automation using Playwright (Legend / 📂 <a name="browser-automation"></a>Browser Automation)
- awesome-mcp-servers - @automatalabs/mcp-server-playwright - An MCP server for browser automation using Playwright (Legend / 📂 <a name="browser-automation"></a>Browser Automation)
- awesome-mcp-servers - automatalabs/mcp-server-playwright - Playwrightを使用したブラウザ自動化のためのMCPサーバー (スター履歴 / 📂 <a name="browser-automation"></a>ブラウザ自動化)
- mcp-index - Playwright - Provides browser automation capabilities for interacting with web pages, capturing screenshots, and executing JavaScript in a real browser environment. (Browser Automation)
- awesome-mcp-servers - MCP Playwright Server - MCP server for browser automation using Playwright (Table of Contents / Browser Automation)
- awesome-mcp-servers - MCP Playwright Server - MCP server for browser automation using Playwright (Table of Contents / Browser Automation)
- awesome-devops-mcp-servers - Automata-Labs-team/MCP-Server-Playwright - An MCP server for browser automation using Playwright (CI/CD & DevOps Pipelines / 📂 Browser Automation)
- awesome-mcp - @automatalabs/mcp-server-playwright - An MCP server for browser automation using Playwright (MCP Servers / 📂 Browser Automation)
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](#features)
- [Installation](#installation)
- [Configuration](#configuration)
- [Components](#components)
- [Tools](#tools)
- [Resources](#resources)
- [License](#license)## 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](https://smithery.ai/server/@automatalabs/mcp-server-playwright):
```bash
npx -y @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 integrationThe 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:
```bash
npx @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"]
}
}
}
```
## Using with CursorYou can also use MCP Server Playwright with [Cursor](https://www.cursor.so/), an AI-powered code editor. To enable browser automation in Cursor via MCP:
1. **Install Playwright browsers** (if not already):
```bash
npx playwright install
```2. **Install MCP Server Playwright for Cursor** using Smithery:
```bash
npx -y @smithery/cli install @automatalabs/mcp-server-playwright --client cursor
```3. **Configuration file setup**:
If you do not use Claude, the configuration file (`claude_desktop_config.json`) may not be created automatically.
- On Windows, create a folder named `Claude` in `%APPDATA%` (usually `C:\Users\\AppData\Roaming\Claude`).
- Inside that folder, create a file named `claude_desktop_config.json` with the following content:
```json
{
"serverPort": 3456
}
```4. **Follow the remaining steps in the [Installation](#installation) section above** to complete the setup.
Now, you can use all the browser automation tools provided by MCP Server Playwright directly from Cursor’s AI features, such as web navigation, screenshot capture, and JavaScript execution.
> **Note:** Make sure you have Node.js installed and `npx` available in your system PATH.
## 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
1. **Console Logs** (`console://logs`)
- Access browser console output in text format
- Includes all console messages from the browser2. **Screenshots** (`screenshot://`)
- 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](https://github.com/Automata-Labs-team/MCP-Server-Playwright/blob/main/LICENSE) file for details.