playwright-mcp-server
Retrieve web page content and interact with it by simulating user actions, navigating pages, and extracting data using a standardized protocol.
Author

Kotelberg
Quick Info
Actions
Tags
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
