Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Playwright Orchestrator

FreeNot checked

A multi-agent orchestrator that enables multiple AI agents to share a single Chrome browser instance with tab isolation and shared state. It preserves local bro

GitHubEmbed

About

A multi-agent orchestrator that enables multiple AI agents to share a single Chrome browser instance with tab isolation and shared state. It preserves local browser data like cookies and logins while allowing concurrent agent sessions through the official Playwright MCP.

README

Multi-agent orchestrator for Playwright MCP — multiple AI agents sharing one Chrome browser with tab isolation. Local-first, preserving your real browser state (cookies, logins, extensions, localStorage).

The Problem

The official @playwright/mcp only supports a single agent per browser. When multiple Claude Code agents (or any MCP clients) try to use it simultaneously, they fight over the same tabs and interfere with each other.

Existing workarounds all sacrifice something:

  • --isolated mode gives each agent a fresh profile (no saved logins/cookies)
  • Separate --user-data-dir per agent means separate profiles (no shared state)
  • Community alternatives (ultimate-playwright-mcp, concurrent-browser-mcp) are unmaintained or don't share profiles

The Approach

Use a single Chrome instance with CDP (Chrome DevTools Protocol) as the shared backend, and orchestrate multiple @playwright/mcp sessions on top — each scoped to its own tabs.

┌─────────────────────────────────────────────┐
│              Chrome (one instance)           │
│         --remote-debugging-port=9222        │
│         --user-data-dir=<profile>           │
│                                             │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐       │
│  │ Agent 1 │ │ Agent 2 │ │ Agent 3 │ tabs  │
│  │  tabs   │ │  tabs   │ │  tabs   │       │
│  └────┬────┘ └────┬────┘ └────┬────┘       │
└───────┼──────────┼──────────┼───────────────┘
        │          │          │  CDP (ws://127.0.0.1:9222)
┌───────┼──────────┼──────────┼───────────────┐
│       ▼          ▼          ▼               │
│   ┌────────────────────────────────┐        │
│   │   playwright-mcp-orchestrator  │        │
│   │                                │        │
│   │  - Tab group isolation         │        │
│   │  - Session routing             │        │
│   │  - Uses official @playwright/mcp│       │
│   └────────────────────────────────┘        │
└─────────────────────────────────────────────┘

Key design decisions

  1. Delegates to official @playwright/mcp — not a reimplementation. New tools and features from Microsoft are available automatically.
  2. Shared user profile — all agents see the same cookies, logins, localStorage.
  3. Tab isolation — each agent operates on its own tabs, no interference.
  4. CDP connection — connects to a running Chrome instance via --remote-debugging-port.

Status

Early development. The CDP foundation has been validated:

  • Chrome 145 with --remote-debugging-port=9222 + --user-data-dir works
  • Multiple playwright-core connections via connectOverCDP to the same browser work
  • Each connection can create and manage its own tabs independently
  • All connections share the same BrowserContext (cookies, logins, storage)

Chrome Setup

Chrome 136+ silently ignores --remote-debugging-port on the default profile directory. You must use --user-data-dir pointing to a non-default path.

Copy your profile (preserves all logins)

# Quit Chrome first
osascript -e 'tell application "Google Chrome" to quit'

# Copy profile
cp -r ~/Library/Application\ Support/Google/Chrome /tmp/chrome-cdp-profile

# Launch with CDP
open -a "Google Chrome" --args \
  --user-data-dir=/tmp/chrome-cdp-profile \
  --remote-debugging-port=9222

Verify CDP is working

curl -s http://127.0.0.1:9222/json/version

Research

Why not existing solutions?

Project Stars Issue
@playwright/mcp (official) Single agent only. Issues #893, #1294 open.
ultimate-playwright-mcp 1 Full reimplementation, abandoned after 1 day. Can't track official updates.
concurrent-browser-mcp Isolated ephemeral instances, no shared profile.
playwright-parallel-mcp Separate processes, separate profiles.
mcp-playwright-cdp 47 CDP but no tab isolation. Abandoned.

Why not other browser frameworks?

Framework Stars Issue for our use case
Browser Use 80k Single-session locally. Cloud for concurrency.
Stagehand/Browserbase 21k Cloud-only shared state. Not local.
Agent Browser (Vercel) 21k CLI, not MCP. No tab isolation. CDP still maturing.
Dev Browser 3.8k Skill, not MCP. Same multi-agent gap (#33).
Skyvern 21k Vision-first, different paradigm.

The multi-agent shared-profile problem is unsolved

No well-maintained project provides: real user profile + multiple concurrent agents + tab isolation + MCP interface. This project aims to be the first.

License

MIT

from github.com/mediar-ai/playwright-mcp-orchestrator

Installing Playwright Orchestrator

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/mediar-ai/playwright-mcp-orchestrator

FAQ

Is Playwright Orchestrator MCP free?

Yes, Playwright Orchestrator MCP is free — one-click install via Unyly at no cost.

Does Playwright Orchestrator need an API key?

No, Playwright Orchestrator runs without API keys or environment variables.

Is Playwright Orchestrator hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Playwright Orchestrator in Claude Desktop, Claude Code or Cursor?

Open Playwright Orchestrator on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Playwright

Browser automation, scraping, screenshots

Microsoftby Microsoft

Puppeteer

Browser automation and web scraping.

modelcontextprotocolby modelcontextprotocol

opentabs-dev/opentabs

Plugin-based MCP server + Chrome extension that gives AI agents access to web applications through the user's authenticated browser session. 100+ plugins with a

opentabs-devby opentabs-dev

robhunter/agentdeals

1,500+ developer infrastructure deals, free tiers, and startup programs across 54 categories. Search deals, compare vendors, plan stacks, and track pricing chan

robhunterby robhunter

hlydecker/ucsc-genome-mcp

MCP server to interact with the UCSC Genome Browser API, letting you find genomes, chromosomes, and more.

hlydeckerby hlydecker

34892002/bilibili-mcp-js

A MCP server that supports searching for Bilibili content. Provides LangChain integration examples and test scripts.

34892002by 34892002

achiya-automation/safari-mcp

Native Safari browser automation for AI agents with 80+ tools. No Chrome dependency, optimized for Apple Silicon with 60% less CPU overhead.

achiya-automationby achiya-automation

agent-infra/mcp-server-browser

Browser automation capabilities using Puppeteer, both support local and remote browser connection.

bytedanceby bytedance

aparajithn/agent-scraper-mcp

Web scraping MCP server for AI agents. 6 tools: clean content extraction, structured scraping with CSS selectors, full-page screenshots via Playwright, link ext

aparajithnby aparajithn

apireno/DOMShell

Browse the web using filesystem commands (ls, cd, grep, click). 38 MCP tools map Chrome's Accessibility Tree to a virtual filesystem via a Chrome Extension.

apirenoby apireno

Compare Playwright Orchestrator with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All browse MCPs