mirror of
https://github.com/remorses/playwriter.git
synced 2026-09-14 16:37:40 +08:00
7d54c4b6a0
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
Playwriter MCP
Control your Chrome browser via Model Context Protocol (MCP) using Chrome DevTools Protocol (CDP) events.
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
- Install the extension in your Chrome browser
- Click the extension icon to attach the debugger to the current tab
- The extension creates a relay connection using CDP
- Connect your MCP client (like Playwright) to control the browser
- 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
- Install the extension from the Chrome Web Store
- Navigate to any webpage
- Click the Playwriter MCP extension icon
- The debugger will attach and the icon will turn green when connected
- 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