返回 MCP 目录
public公开dns本地运行

Playwright MCP 服务

提供了一个利用模型上下文协议的服务器,通过 Playwright 实现类似人类的浏览器自动化,允许控制浏览器操作,例如导航、元素交互和滚动。

article

README

Playwright MCP Server

smithery badge

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:

  1. navigate

    • Navigate to a specified URL
    • Arguments: { url: string }
    • Returns: Navigation result
  2. get_all_content

    • Retrieve content from the entire page
    • Arguments: None
    • Returns: All text content from the page
  3. get_visible_content

    • Retrieve currently visible content
    • Arguments: { minVisiblePercentage?: number }
    • Returns: Visible text content
  4. 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
  5. move_mouse

    • Move mouse cursor to specified coordinates
    • Arguments: { x: number, y: number }
    • Returns: Operation result
  6. mouse_click

    • Execute mouse click at specified coordinates
    • Arguments: { x: number, y: number, button?: "left" | "right" | "middle", clickCount?: number }
    • Returns: Click operation result
  7. mouse_wheel

    • Execute mouse wheel scrolling
    • Arguments: { deltaY: number, deltaX?: number }
    • Returns: Scroll operation result
  8. drag_and_drop

    • Execute drag and drop operation
    • Arguments: { sourceX: number, sourceY: number, targetX: number, targetY: number }
    • Returns: Drag and drop operation result
  9. 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 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
  2. Interaction

    • Detection and position information retrieval of interactive elements
    • Mouse operation simulation (movement, clicks, scrolling)
    • Drag and drop support
  3. Error Handling

    • Proper navigation error handling
    • Timeout processing
    • Invalid URL detection
  4. 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

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端