playwright-mcp-server
This project is a server that provides Playwright web page content retrieval functionality using the Model Context Protocol (MCP).
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
Related MCP Servers
View all browser_automation servers →Fetch
by modelcontextprotocol
A Model Context Protocol server that provides web content fetching capabilities, enabling LLMs to retrieve and process content from web pages.
markdownify-mcp
by zcaceres
Markdownify is a Model Context Protocol (MCP) server that converts various file types and web content to Markdown format.
mcp-playwright
by executeautomation
A Model Context Protocol server that provides browser automation capabilities using Playwright.
playwright-mcp
by microsoft
Playwright MCP is a Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages through structured accessibility snapshots.
cursor-talk-to-figma-mcp
by sonnylazuardi
This project implements a Model Context Protocol (MCP) integration between Cursor AI and Figma, allowing Cursor to communicate with Figma for reading designs and modifying them programmatically.
firecrawl-mcp-server
by mendableai
Firecrawl MCP Server is a Model Context Protocol server implementation that integrates with Firecrawl for web scraping capabilities.
ai-agent-marketplace-index-mcp
by AI-Agent-Hub
MCP Server for AI Agent Marketplace Index from DeepNLP, allowing AI assistants to search available AI agents by keywords or categories.