home / mcp / deno2 playwright mcp server

Deno2 Playwright MCP Server

Provides browser automation capabilities via Playwright for MCP clients, enabling page interactions, screenshots, and JavaScript execution in a real browser.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "jakedahn-deno2-playwright-mcp-server": {
      "command": "/path/to/deno2-playwright-mcp-server/playwright-server",
      "args": []
    }
  }
}

This Model Context Protocol (MCP) server provides browser automation through Playwright, enabling large language models to interact with real web pages, capture screenshots, and run JavaScript in a real browser. It’s portable, builds to a binary with no runtime dependencies, and integrates with MCP clients to perform browser-based tasks.

How to use

You connect to this MCP server from an MCP client to perform browser automation tasks. The server runs as a local process and exposes standard MCP endpoints that your client can invoke to navigate pages, interact with elements, capture screenshots, and execute JavaScript within a Playwright-controlled browser.

How to install

Prerequisites you need before building: you should have Deno 2 installed on your system. You will compile a binary for your platform using the provided build tasks.

# Build for macOS (tested)
deno task build-mac

# Build for Linux x86_64
deno task build-linux-x86_64

# Build for Linux ARM64
deno task build-linux-ARM64

# Build for Windows x86_64
deno task build-windows-x86_64

Configure the MCP client to use the server

To use this server from an MCP client, configure the client to point to the local binary you built. You specify the path to the executable that runs the Playwright MCP server so the client can start and communicate with it.

{
  "mcpServers": {
    "playwright": {
      "command": "/path/to/deno2-playwright-mcp-server/playwright-server"
    }
  }
}

Available tools

navigate_and_interact

Interact with web pages, navigate, fill forms, click elements, and perform scripted user actions within a real browser.

take_screenshot

Capture screenshots of the current page in the Playwright-controlled browser.

execute_js

Execute JavaScript within the page context to query data, manipulate the DOM, or run custom scripts.