Skip to main content
Glama

playwright-mcp

Playwright wrapper for MCP (Model Context Protocol). This server enables LLM-powered clients to control a browser for automation tasks.

Components

Resources

The server exposes resources for accessing browser screenshots:

  • Screenshot resource URI: screenshot://{page_id}

  • Screenshot resources are automatically available for all open pages

Prompts

The server provides a prompt to help clients interpret web pages:

  • interpret-page: Analyzes the current web page content and structure

    • Optional page_id argument to select which page to interpret

    • Optional focus argument to focus on specific aspects (full, forms, navigation, text)

    • Returns both text analysis and a screenshot of the page

Tools

The server implements a comprehensive set of browser automation tools:

  • Browser navigation

    • navigate: Go to a specific URL

    • new_page: Create a new browser page with a specific ID

    • switch_page: Switch to a different browser page

    • get_pages: List all available browser pages

  • Page interaction

    • click: Click on an element using CSS selector

    • type: Type text into an input element

    • wait_for_selector: Wait for an element to appear on the page

  • Content extraction

    • get_text: Get text content from an element

    • get_page_content: Get the entire page HTML

    • take_screenshot: Capture visual state of the page or element

Related MCP server: mcp-browser-automation

Configuration

Install Dependencies

uv add playwright
playwright install chromium

Quickstart

Install

Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json

"mcpServers": {
  "playwright-mcp": {
    "command": "uv",
    "args": [
      "--directory",
      "/Users/shannon/Workspace/artivus/playwright-mcp",
      "run",
      "playwright-mcp"
    ]
  }
}
"mcpServers": {
  "playwright-mcp": {
    "command": "uvx",
    "args": [
      "playwright-mcp"
    ]
  }
}

Development

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:

uv sync
  1. Build package distributions:

uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:

uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN

  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector uv --directory /Users/shannon/Workspace/artivus/playwright-mcp run playwright-mcp

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Available Tools

10 tools
clickC

Click on an element by selector

Inputs: selector (required), page_id.

get_page_contentC

Get the current page HTML content

Inputs: page_id.

get_pagesB

List all available browser pages

Inputs: no named parameters.

get_textC

Get text content from an element

Inputs: selector (required), page_id.

new_pageC

Create a new browser page

Inputs: page_id (required).

switch_pageC

Switch to a different browser page

Inputs: page_id (required).

take_screenshotC

Take a screenshot of the current page

Inputs: page_id, selector.

typeC

Type text into an input element

Inputs: selector (required), text (required), page_id.

wait_for_selectorC

Wait for an element to be visible on the page

Inputs: selector (required), page_id, timeout.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no ambiguity. For example, 'click' is for interacting with elements, 'navigate' is for URL changes, and 'take_screenshot' is for capturing visual output. The descriptions make it easy to differentiate between element interaction tools like 'click', 'type', and 'get_text'.

    Naming Consistency4/5

    The naming follows a consistent verb-based pattern with clear actions like 'click', 'navigate', and 'type'. There are minor deviations with 'get_page_content' and 'get_text' using 'get_' prefix while others use simple verbs, but overall the naming is highly readable and predictable.

    Tool Count5/5

    With 10 tools, this is well-scoped for a Playwright automation server. Each tool earns its place by covering essential browser automation tasks like navigation, page management, element interaction, and content retrieval without being overwhelming or redundant.

    Completeness5/5

    The toolset provides complete coverage for core browser automation workflows. It includes navigation, page management, element interaction, content retrieval, and screenshot capabilities. There are no obvious gaps—agents can perform full automation sequences from start to finish.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Exposes Playwright browser automation as MCP tools, enabling AI assistants to control a real browser tab-by-tab for form filling, navigation, and more, while preserving the user's active session.
      -
    • A
      license
      B
      quality
      D
      maintenance
      An MCP server for generic browser automation using Playwright. Enables MCP clients to navigate pages, inspect elements, execute JavaScript, capture screenshots, and monitor console logs and network traffic via a headless Chromium instance.
      7
      27 npm
      ISC
    • A
      license
      A
      quality
      D
      maintenance
      Enables MCP clients to automate a real Chrome browser via Playwright, supporting session sharing and tools for navigation, clicking, typing, and more.
      11
      105 npm
      2
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      Exposes a remote browser as MCP tools via Playwright, enabling AI agents to navigate and interact with web pages through DOM snapshots, clicks, typing, and form operations.
      40
      10 npm
      14
      Apache 2.0