
playwright mcp server
Playwright MCP Server 是一个基于 TypeScript 的服务,用于自动化的网页交互,包括通过 Model Context Protocol 进行抓取、测试和内容检索。
Repository Info
About This Server
Playwright MCP Server 是一个基于 TypeScript 的服务,用于自动化的网页交互,包括通过 Model Context Protocol 进行抓取、测试和内容检索。
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
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
Quick Start
Clone the repository
git clone https://github.com/showfive/playwright-mcp-serverInstall dependencies
cd playwright-mcp-server
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.