Supports publishing the package to PyPI for distribution, with instructions for handling authentication via tokens or username/password.
playwright-mcp
Playwright wrapper for MCP (Model Context Protocol). This server enables LLM-powered clients to control a browser for automation tasks.
Components
Resources
The server exposes resources for accessing browser screenshots:
- Screenshot resource URI:
screenshot://{page_id}
- Screenshot resources are automatically available for all open pages
Prompts
The server provides a prompt to help clients interpret web pages:
interpret-page
: Analyzes the current web page content and structure- Optional
page_id
argument to select which page to interpret - Optional
focus
argument to focus on specific aspects (full, forms, navigation, text) - Returns both text analysis and a screenshot of the page
- Optional
Tools
The server implements a comprehensive set of browser automation tools:
- Browser navigation
navigate
: Go to a specific URLnew_page
: Create a new browser page with a specific IDswitch_page
: Switch to a different browser pageget_pages
: List all available browser pages
- Page interaction
click
: Click on an element using CSS selectortype
: Type text into an input elementwait_for_selector
: Wait for an element to appear on the page
- Content extraction
get_text
: Get text content from an elementget_page_content
: Get the entire page HTMLtake_screenshot
: Capture visual state of the page or element
Configuration
Install Dependencies
Quickstart
Install
Claude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Development
Building and Publishing
To prepare the package for distribution:
- Sync dependencies and update lockfile:
- Build package distributions:
This will create source and wheel distributions in the dist/
directory.
- Publish to PyPI:
Note: You'll need to set PyPI credentials via environment variables or command flags:
- Token:
--token
orUV_PUBLISH_TOKEN
- Or username/password:
--username
/UV_PUBLISH_USERNAME
and--password
/UV_PUBLISH_PASSWORD
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm
with this command:
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Playwright wrapper for MCP that enables LLM-powered clients to control a browser for automation tasks.
Related MCP Servers
- -securityAlicense-qualityA MCP server that provides browser automation tools, allowing users to navigate websites, take screenshots, click elements, fill forms, and execute JavaScript through Playwright.Last updated -PythonApache 2.0
- AsecurityAlicenseAqualityA browser automation server providing Playwright capabilities for controlling web browsers, capturing screenshots, extracting content, and performing complex interactions through an MCP interface.Last updated -6PythonApache 2.0
- -securityFlicense-qualityA service that provides Playwright browser automation functionality through Model Context Protocol (MCP), allowing clients to use Playwright features via SSE connections.Last updated -6
- AsecurityAlicenseAqualityA Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, generate test code, scrape web content, and execute JavaScript in real browser environments.Last updated -3110,475TypeScriptMIT License