Playwright CDP MCP server

Integrates Playwright and Chrome DevTools Protocol to enable advanced web automation, testing, and analysis through browser control and interaction.
Back to servers
Provider
Lars Hagen
Release date
Feb 10, 2025
Language
TypeScript
Stats
23 stars

This MCP Playwright CDP server provides browser automation capabilities using Playwright with Chrome DevTools Protocol support. It enables large language models to interact with web pages, take screenshots, and execute JavaScript in a real browser environment, with the ability to connect to existing Chrome instances via CDP.

Installation Options

Using Smithery (Recommended)

Install MCP Playwright CDP for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @lars-hagen/mcp-playwright-cdp --client claude

Manual Installation

If you prefer to install manually:

npm install

Configuration

To set up the server with Claude Desktop, add this to your Claude Desktop configuration file:

{
  "mcpServers": {
    "playwright": {
      "command": "node",
      "args": ["/path/to/mcp-playwright/dist/index.js"]
    }
  }
}

Make sure to replace /path/to/mcp-playwright with the actual path to your installation directory.

Using with Chrome DevTools Protocol (CDP)

Connecting to an Existing Chrome Instance

One of the key features of this server is the ability to connect to running Chrome browsers via CDP:

  1. Launch Chrome with remote debugging enabled:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
  1. Start the MCP server, which will automatically attempt to connect to the running Chrome instance before launching a new browser.

Key Features and Capabilities

The server provides these browser automation features:

  • Web Navigation: Navigate to URLs, go back/forward, refresh pages
  • Element Interaction: Click, type, scroll, and interact with web elements
  • Form Handling: Fill forms, submit data, select options
  • Screenshots: Capture screenshots of entire pages or specific elements
  • JavaScript Execution: Run custom JavaScript in the browser context
  • Console Monitoring: View and capture browser console logs
  • HTTP API Testing: Make API requests and process responses

The combination of Playwright's automation capabilities with CDP support provides a powerful toolset for LLMs to interact with web content through a real browser.

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later