Files
remorses__playwriter/extension
Tommy D. Rossi 7d54c4b6a0 fix: handle chrome-extension:// iframes from other extensions (#18)
Chrome's chrome.debugger.attach API refuses to attach to tabs containing
chrome-extension:// iframes from other extensions (LastPass, SurfingKeys,
password managers, etc). This causes the extension to immediately disconnect
after clicking the icon.

Two-layer fix:

1. Pre-attachment (removeRestrictedIframes): when chrome.debugger.attach fails
   with the chrome-extension:// error, use chrome.scripting.executeScript to
   remove restricted iframes from the DOM, then retry attachment. Requires
   new 'scripting' permission.

2. Runtime filtering (onDebuggerEvent): when Target.attachedToTarget arrives
   for a restricted child target (injected after debugger attached), filter it
   out immediately — don't track, don't forward to relay, detach the child
   target. Defense-in-depth against runtime re-injection by other extensions'
   content scripts.

Test: loads a fixture extension alongside playwriter, creates a page with a
chrome-extension:// iframe, enables the debugger, and verifies it stays
connected and can execute JS.

Closes #18
2026-03-29 23:26:26 +02:00
..
2026-02-22 15:21:38 +01:00
2025-11-22 12:28:21 +01:00

Playwriter MCP

Control your Chrome browser via Model Context Protocol (MCP) using Chrome DevTools Protocol (CDP) events.

Install from Chrome Web Store

What is Playwriter MCP?

Playwriter MCP is a Chrome extension that enables Playwright to connect to your existing Chrome instance without spawning a new browser or requiring Chrome to be started in CDP mode. This allows AI assistants and automation tools to interact with your browser seamlessly through the Model Context Protocol.

Key Features

  • No new Chrome instances: Works with your current browser session
  • No CDP mode required: No need to restart Chrome with special flags
  • MCP integration: Exposes browser control through the Model Context Protocol
  • CDP events: Full access to Chrome DevTools Protocol capabilities
  • Playwright compatible: Connect Playwright directly to your running Chrome

How it Works

  1. Install the extension in your Chrome browser
  2. Click the extension icon to attach the debugger to the current tab
  3. The extension creates a relay connection using CDP
  4. Connect your MCP client (like Playwright) to control the browser
  5. The icon changes color to indicate connection status:
    • Gray: Not connected
    • Green: Successfully connected

Use Cases

  • Browser automation without disrupting your workflow
  • AI-assisted web browsing and testing
  • Debugging and development with MCP-enabled tools
  • Remote browser control for various applications

Permissions

This extension requires the following permissions:

  • debugger: To access Chrome DevTools Protocol
  • activeTab: To interact with the current tab
  • tabs: To manage browser tabs
  • all_urls: To work with any website

Getting Started

  1. Install the extension from the Chrome Web Store
  2. Navigate to any webpage
  3. Click the Playwriter MCP extension icon
  4. The debugger will attach and the icon will turn green when connected
  5. Connect your MCP client to start controlling the browser

Privacy & Security

Playwriter MCP runs locally in your browser and does not send any data to external servers. All browser control happens through the standard Chrome DevTools Protocol on your machine.

Support

For issues, feature requests, or contributions, visit the GitHub repository.

License

Apache-2.0