Cloudflare Playwright MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add playwright-mcp-b0e8 -- npx wrangler deploy
README.md

Enables AI assistants to control a web browser through tools

Cloudflare Playwright MCP Example

Overview

This project demonstrates how to use Playwright with Cloudflare Workers as a Model Control Protocol (MCP) server using Cloudflare Playwright MCP.

It enables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.

The server can be used with various AI platforms including Cloudflare AI Playground, Claude Desktop, and GitHub Copilot in VS Code.

Deploy

Follow these steps to set up and deploy the project:

  1. Install dependencies:
npm ci
  1. Deploy to Cloudflare Workers:
npx wrangler deploy

Use with Cloudflare AI Playground

alt text

Cloudflare playground AI is a great way to test MCP servers using LLM models available in Workers AI.

  • Navigate to https://playground.ai.cloudflare.com/
  • Ensure model is set to llama-3.3-70b-instruct-fp8-fast
  • In MCP Servers, set URL to https://[my-mcp-url].workers.dev/sse
  • Click Connect
  • Status should update to Connected and it should list 14 available tools

You can now start to interact with the model, and it will run necessary tools to accomplish what was requested.

[!TIP] For best results, give simple instructions consisting of one single action, e. g., "Create a new todo entry", "Go to cloudflare site", "Take a screenshot"

Example of a conversation:

Role Message
User Go to demo.playwright.dev/todomvc
Assistant runs browser_navigate tool The page has been navigated to https://demo.playwright.dev/todomvc/. The page title is "React • TodoMVC". The page snapshot shows the content of the page, including a heading, a textbox, and several links.
User Create some todo entry
Assistant runs browser_type tool A new todo entry "Buy groceries" has been created. The page snapshot shows the updated content of the page, including the new todo entry.
User Nice. Now create a todo in parrot style
Assistant runs browser_type tool A new todo entry "Polly wants a cracker" has been created in parrot style. The page snapshot shows the updated content of the page, including the new todo entry.
User And create another todo in yoda style
Assistant runs browser_type tool A new todo entry "A walk, I must take" has been created in Yoda style. The page snapshot shows the updated content of the page, including the new todo entry.
User Take a screenshot
Assistant runs browser_take_screenshot tool alt text A screenshot of the current page has been taken. The screenshot is in PNG format and is 56KB in size.
User Now click the checkbox of the parrot todo entry
Assistant runs browser_clickt tool The checkbox of the parrot todo entry "Polly wants a cracker" has been clicked. The page snapshot shows the updated content of the page, with the checkbox now checked.
User Take a screenshot
Assistant runs browser_take_screenshot tool alt text A screenshot of the current page has been taken. The screenshot is in PNG format and is 58KB in size.
User Remove completed todo entries
Assistant runs browser_clickt tool The "Clear completed" button has been clicked. The page snapshot shows the updated content of the page, with the completed todo entry "Polly wants a cracker" removed.
User Take a final screenshot
Assistant runs browser_take_screenshot tool alt text A final screenshot of the current page has been taken. The screenshot is in PNG format and is 50KB in size.

Use with Claude Desktop

As of now, Claude Desktop only supports local MCP servers. To use playground-mcp with Claude Desktop we make use of mcp-remote, a tool that proxies remote MCP servers and exposes them locally. Use the following configuration:

  1. Open the configuration file for Claude Desktop.
  2. Add the following JSON snippet under the mcpServers section:
{
  "mcpServers": {
    "cloudflare-playwright-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://[my-mcp-url]

Tools (4)

browser_navigateNavigates the browser to a specified URL.
browser_typeTypes text into a specified input field or element.
browser_clicktClicks on a specified element on the page.
browser_take_screenshotCaptures a screenshot of the current page.

Configuration

claude_desktop_config.json
{"mcpServers": {"cloudflare-playwright-mcp": {"command": "npx", "args": ["mcp-remote", "https://[my-mcp-url].workers.dev/sse"]}}}

Try it

Go to https://demo.playwright.dev/todomvc and create a new todo entry called 'Buy groceries'.
Navigate to the Cloudflare website and take a screenshot of the homepage.
Click the checkbox of the todo entry labeled 'Buy groceries' on the current page.
Clear all completed todo entries on the current page and take a final screenshot.

Frequently Asked Questions

What are the key features of Cloudflare Playwright MCP?

Remote browser control via Cloudflare Workers. Supports navigation, typing, and clicking interactions. Captures page screenshots for visual feedback. Compatible with Claude Desktop via mcp-remote. Integrates with Cloudflare AI Playground.

What can I use Cloudflare Playwright MCP for?

Automating web-based task management and todo lists. Visual testing and screenshot capture of web applications. Interacting with live websites through natural language instructions. Building AI-driven web automation workflows.

How do I install Cloudflare Playwright MCP?

Install Cloudflare Playwright MCP by running: npm ci

What MCP clients work with Cloudflare Playwright MCP?

Cloudflare Playwright MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Cloudflare Playwright MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare