Playwright MCP Server
English | 日本語
This project is a server that provides Playwright web page content retrieval functionality using the Model Context Protocol (MCP).
Features
- Page navigation
- Full page content retrieval
- Visible content retrieval
- Interactive elements detection
- Mouse operation simulation
- Echo functionality for testing
Installation
Installing via Smithery
To install Playwright MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @showfive/playwright-mcp-server --client claude
Manual Installation
npm install
Usage
Starting the Server
npm run build
npm start
MCP Tools
The following tools are available:
navigate
- Navigate to a specified URL
- Arguments:
{ url: string }
- Returns: Navigation result
get_all_content
- Retrieve content from the entire page
- Arguments: None
- Returns: All text content from the page
get_visible_content
- Retrieve currently visible content
- Arguments:
{ minVisiblePercentage?: number }
- Returns: Visible text content
get_interactive_elements
- Get position information of interactive elements (buttons, links, etc.) on the page
- Arguments: None
- Returns: Coordinates and boundary information of interactive elements
move_mouse
- Move mouse cursor to specified coordinates
- Arguments:
{ x: number, y: number }
- Returns: Operation result
mouse_click
- Execute mouse click at specified coordinates
- Arguments:
{ x: number, y: number, button?: "left" | "right" | "middle", clickCount?: number }
- Returns: Click operation result
mouse_wheel
- Execute mouse wheel scrolling
- Arguments:
{ deltaY: number, deltaX?: number }
- Returns: Scroll operation result
drag_and_drop
- Execute drag and drop operation
- Arguments:
{ sourceX: number, sourceY: number, targetX: number, targetY: number }
- Returns: Drag and drop operation result
echo
- Echo tool for testing
- Arguments:
{ message: string }
- Returns: Sent message
Development
Running Tests
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverage
Test Structure
tools/*.test.ts
: Function tests for each toolmcp-server.test.ts
: MCP server function tests
Implementation Features
Content Retrieval
- Full page content retrieval
- Visible content only retrieval
- Proper HTML parsing
Interaction
- Detection and position information retrieval of interactive elements
- Mouse operation simulation (movement, clicks, scrolling)
- Drag and drop support
Error Handling
- Proper navigation error handling
- Timeout processing
- Invalid URL detection
Configuration Flexibility
- Headless/head mode selection
- Custom user agent
- Viewport size settings
Important Notes
- Ensure necessary environment variables are set before using the MCP server
- Follow the terms of service of target websites when retrieving web page content
- Maintain appropriate intervals when sending multiple requests
- When performing mouse operations, maintain appropriate intervals as they simulate actual user interactions
License
ISC
Playwright
Project Details
- showfive/playwright-mcp-server
- Last Updated: 4/6/2025
Recomended MCP Servers
A start template for a typescript mcp server
Query and Summarize your chat messages.
A Model Context Protocol server that provides access to BigQuery
Cursor Talk To Figma MCP
MCP Server implementation for Ableton Live OSC control
MCP Hyperliquid (https://app.hyperliquid.xyz) server
Connect your Sanity content to AI agents. Create, update, and explore structured content using Claude, Cursor, and VS...
MCP server for Cursor to assist with Laravel development
MCP Server MetaMCP manages all your other MCPs in one MCP.
Terraform Model Context Protocol (MCP) Tool - An experimental CLI tool that enables AI assistants to manage...
Model Context Protocol (MCP) server for using the Eyevinn Open Source Cloud API
A macOS AppleScript MCP server