playwright.com
playwright.com logo

Playwright

Integrates Playwright browser automation with AI models to enable intelligent web interactions, testing, and data extrac...

Created byApr 23, 2025

Playwright MCP Server

[![smithery badge](https://smithery.ai/badge/@showfive/playwright-mcp-server)](https://smithery.ai/server/@showfive/playwright-mcp-server)
English | [ ](README.ja.md)
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](https://smithery.ai/server/@showfive/playwright-mcp-server):

Manual Installation

Usage

Starting the Server

MCP Tools

The following tools are available:
  1. `navigate` - Navigate to a specified URL - Arguments: `{ url: string }` - Returns: Navigation result
  1. `get_all_content` - Retrieve content from the entire page - Arguments: None - Returns: All text content from the page
  1. `get_visible_content` - Retrieve currently visible content - Arguments: `{ minVisiblePercentage?: number }` - Returns: Visible text content
  1. `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
  1. `move_mouse` - Move mouse cursor to specified coordinates - Arguments: `{ x: number, y: number }` - Returns: Operation result
  1. `mouse_click` - Execute mouse click at specified coordinates - Arguments: `{ x: number, y: number, button?: "left" | "right" | "middle", clickCount?: number }` - Returns: Click operation result
  1. `mouse_wheel` - Execute mouse wheel scrolling - Arguments: `{ deltaY: number, deltaX?: number }` - Returns: Scroll operation result
  1. `drag_and_drop` - Execute drag and drop operation - Arguments: `{ sourceX: number, sourceY: number, targetX: number, targetY: number }` - Returns: Drag and drop operation result
  1. `echo` - Echo tool for testing - Arguments: `{ message: string }` - Returns: Sent message

Development

Running Tests

Test Structure

  • `tools/*.test.ts`: Function tests for each tool
  • `mcp-server.test.ts`: MCP server function tests

Implementation Features

  1. Content Retrieval - Full page content retrieval - Visible content only retrieval - Proper HTML parsing
  1. Interaction - Detection and position information retrieval of interactive elements - Mouse operation simulation (movement, clicks, scrolling) - Drag and drop support
  1. Error Handling - Proper navigation error handling - Timeout processing - Invalid URL detection
  1. 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