Cover image
Try Now
2025-02-25

3 years

Works with Finder

1

Github Watches

2

Github Forks

6

Github Stars

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

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Beniyam Berhanu
  • Therapist adept at identifying core issues and offering practical advice with images.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • OffchainLabs
  • Go implementation of Ethereum proof of stake

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

    Reviews

    1 (1)
    Avatar
    user_2GfLNACR
    2025-04-17

    As a devoted user of the playwright-mcp-server by showfive, I have found it to be an exceptional tool for managing and controlling Playwright scripts. Its seamless integration and robust features have significantly boosted our testing efficiency. The thorough documentation on GitHub makes it easy to get started, and the support from the community is fantastic. Highly recommended for anyone looking for a reliable server to enhance their Playwright experience!