Playwright Universal MCP logo

Playwright Universal MCP

by xkiranj

A universal Model Context Protocol (MCP) server for browser automation that works reliably in containerized environments with limited privileges. It provides browser control capabilities to AI assistants like Claude, GPT-4, etc.

View on GitHub

Last updated: N/A

What is Playwright Universal MCP?

Playwright Universal MCP is a server that implements the Model Context Protocol (MCP) to enable browser automation, especially in environments with limited privileges like Docker containers. It allows AI assistants and other applications to control browsers programmatically.

How to use Playwright Universal MCP?

The server can be installed using pipx, a Python virtual environment, or from source. After installation, you can start the server via the command line, specifying options like the browser to use (Chromium, Firefox, Edge, Chrome, WebKit) and whether to run in headless or headful mode. It can be configured for use with MCP-enabled applications like Claude Desktop.

Key features of Playwright Universal MCP

  • Multi-browser support (Chromium, Chrome, Microsoft Edge, Firefox, WebKit)

  • Container-friendly operation with limited privileges

  • Headless/Headful modes

  • Extensive browser control (navigation, clicks, typing, screenshots)

  • Multiple page support

Use cases of Playwright Universal MCP

  • Automating browser interactions for AI assistants

  • Running automated browser tests in CI/CD pipelines

  • Web scraping and data extraction

  • Generating screenshots and PDFs of web pages

FAQ from Playwright Universal MCP

What browsers are supported?

Chromium, Chrome, Microsoft Edge, Firefox, and WebKit are supported.

Can I run the server in a Docker container?

Yes, the server is designed to work well in containerized environments.

How do I enable debug logging?

Use the --debug command-line option.

How do I specify which browser to use?

Use the --browser command-line option, e.g., --browser firefox.

How do I run the browser in headful mode (with a visible window)?

Use the --headful command-line option.