This commit is contained in:
Tommy D. Rossi
2025-11-16 13:18:51 +01:00
parent 920a0d15fb
commit e0292cf88b
3 changed files with 28 additions and 2 deletions
+26
View File
@@ -60,6 +60,32 @@ Once enabled on one or more tabs, your AI assistant can:
The MCP will automatically start a relay server and connect to your enabled browser tabs.
## Security
Playwriter is designed with security in mind, ensuring that only you can control your browser.
### How It Works
1. **Local WebSocket Server**: When the MCP starts, it launches a singleton WebSocket server on `localhost:19988`
2. **Dual Connection**: Both the Chrome extension and MCP client connect to this local server
3. **User-Controlled Access**: The extension can only control tabs where you explicitly clicked the extension icon (green icon indicates connected tabs)
4. **Localhost-Only**: The WebSocket server does not send CORS headers, preventing any web pages or remote servers from connecting to it - only processes running on your local machine can establish a connection
5. **Explicit Consent**: Chrome displays an "automation banner" on controlled tabs, making it obvious when a tab is being automated
### What Can Be Controlled
- **Only enabled tabs**: Tabs you explicitly connected by clicking the extension icon
- **New tabs created by automation**: Tabs created programmatically through Playwright commands
- **Nothing else**: Other browser tabs, your browsing history, or any tabs you haven't explicitly connected remain inaccessible
### What Cannot Happen
- **No remote access**: External websites or servers cannot connect to the WebSocket (localhost-only)
- **No passive monitoring**: The extension cannot read or monitor tabs you haven't connected
- **No automatic spreading**: The debugger won't automatically attach to new tabs you open manually
This architecture ensures that browser automation only happens with your explicit permission on tabs you choose.
### Using with Playwright
You can use playwriter programmatically with playwright-core:
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "@playwright/mcp-extension",
"name": "mcp-extension",
"version": "0.0.48",
"description": "Playwright MCP Browser Extension",
"private": true,
+1 -1
View File
@@ -27,7 +27,7 @@ importers:
specifier: ^4.0.8
version: 4.0.8(@types/node@24.10.1)(@vitest/ui@4.0.8)(tsx@4.20.6)
extension-playwright:
extension:
dependencies:
playwriter:
specifier: workspace:*