@playwright-repl/mcp 0.21.10 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@ MCP server that lets AI agents (Claude Desktop, Claude Code, or any MCP client)
4
4
 
5
5
  Two modes:
6
6
  - **Bridge mode** (default) — controls your real Chrome browser through the **Dramaturg** Chrome extension
7
- - **Standalone mode** (`--standalone`) — launches its own browser via Playwright, no extension needed
7
+ - **Standalone mode** (`--standalone`) — launches Chromium with the Dramaturg extension, supports keyword commands and JavaScript
8
8
 
9
9
  ## Why
10
10
 
@@ -53,10 +53,10 @@ Playwright running in your real Chrome session
53
53
  Claude Desktop / Claude Code (or any MCP client)
54
54
  ↕ MCP (stdio)
55
55
  playwright-repl MCP server
56
- Engine.run() (in-process)
57
- Playwright BrowserServerBackend
58
- CDP
59
- Browser (launched by Playwright)
56
+ serviceWorker.evaluate()
57
+ Dramaturg extension (service worker)
58
+ playwright-crx
59
+ Chromium (launched with extension)
60
60
  ```
61
61
 
62
62
  ## Setup
@@ -77,12 +77,12 @@ Load `packages/extension/dist/` as an unpacked extension in Chrome (`chrome://ex
77
77
 
78
78
  Or install from the [Chrome Web Store](https://chromewebstore.google.com/detail/dramaturg/ppbkmncnmjkfppilnmplpokdfagobipa).
79
79
 
80
- #### Standalone mode — no extension needed
80
+ #### Standalone mode — launches browser with extension
81
81
 
82
- Add `--standalone` to the MCP server command. The server launches its own browser via Playwright.
82
+ Add `--standalone` to the MCP server command. The server launches Chromium with the Dramaturg extension pre-installed.
83
83
 
84
84
  - Default: headless. Add `--headed` to show the browser window.
85
- - Only `.pw` keyword commands are supported (no raw Playwright API or JavaScript expressions). Use `run-code` or `eval` keywords within `.pw` mode for Playwright API / JS.
85
+ - Supports both keyword commands and JavaScript/Playwright API.
86
86
 
87
87
  ### 3. Configure your MCP client
88
88
 
@@ -180,9 +180,9 @@ select "Country" "United States" # select dropdown option
180
180
  localstorage-list # list localStorage
181
181
  ```
182
182
 
183
- ### Playwright API / JavaScript (bridge mode only)
183
+ ### Playwright API / JavaScript
184
184
 
185
- In bridge mode, `run_command` also accepts raw Playwright expressions and JavaScript:
185
+ Both modes accept raw Playwright expressions and JavaScript:
186
186
 
187
187
  ```
188
188
  await page.url()
@@ -193,9 +193,6 @@ await page.evaluate(() => document.title)
193
193
  await page.evaluate(() => document.querySelectorAll('a').length)
194
194
  ```
195
195
 
196
- > In standalone mode, use the `run-code` or `eval` keywords to run Playwright API / JavaScript:
197
- > `run-code await page.url()` or `eval document.title`.
198
-
199
196
  ## Tool: `run_script`
200
197
 
201
198
  Batch execution for multi-line scripts.
@@ -211,9 +208,7 @@ press Enter
211
208
  verify-text "Buy groceries"
212
209
  ```
213
210
 
214
- > In standalone mode, `run_script` only accepts `.pw` keyword scripts (no `language` parameter needed).
215
-
216
- ### JavaScript (`language="javascript"`) — bridge mode only
211
+ ### JavaScript (`language="javascript"`)
217
212
 
218
213
  Runs the entire block as one evaluation — use for Playwright API with assertions:
219
214
 
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Evaluate runner — connects to Chrome via serviceWorker.evaluate().
3
+ * No WebSocket bridge needed.
4
+ */
5
+ import type { RunnerModule, SnapshotCache } from './types.js';
6
+ export declare function createEvaluateRunner(argv: string[], snapshotCache: SnapshotCache): Promise<RunnerModule>;
7
+ //# sourceMappingURL=evaluate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI9D,wBAAsB,oBAAoB,CACtC,IAAI,EAAE,MAAM,EAAE,EACd,aAAa,EAAE,aAAa,GAC7B,OAAO,CAAC,YAAY,CAAC,CAuCvB"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Evaluate runner — connects to Chrome via serviceWorker.evaluate().
3
+ * No WebSocket bridge needed.
4
+ */
5
+ import { EvaluateConnection, findExtensionPath, UPDATE_COMMANDS, parseInput } from '@playwright-repl/core';
6
+ import { logEvent } from './logger.js';
7
+ import { descriptions } from './bridge.js';
8
+ export async function createEvaluateRunner(argv, snapshotCache) {
9
+ const headed = argv.includes('--headed');
10
+ const extPath = findExtensionPath(import.meta.url);
11
+ if (!extPath)
12
+ throw new Error('Chrome extension not found. Run "pnpm run build" first.');
13
+ const conn = new EvaluateConnection();
14
+ const pwModule = '@playwright/test';
15
+ const { chromium } = await (Function('m', 'return import(m)')(pwModule));
16
+ await conn.start(extPath, { headed, chromium });
17
+ console.error(`playwright-repl evaluate mode (${headed ? 'headed' : 'headless'})`);
18
+ logEvent(`Evaluate mode started`);
19
+ return {
20
+ descriptions,
21
+ runner: {
22
+ async runCommand(command) {
23
+ const parsed = parseInput(command);
24
+ const cmdName = parsed?._[0];
25
+ const isUpdate = cmdName !== undefined && UPDATE_COMMANDS.has(cmdName);
26
+ const result = await conn.run(command, isUpdate ? { includeSnapshot: true } : undefined);
27
+ if (result.isError)
28
+ return result;
29
+ if (result.text) {
30
+ const snapMatch = result.text.match(/### Snapshot\n([\s\S]+)$/);
31
+ if (snapMatch) {
32
+ snapshotCache.value = { url: '', snapshotString: snapMatch[1].trim() };
33
+ }
34
+ else if (cmdName === 'snapshot') {
35
+ snapshotCache.value = { url: '', snapshotString: result.text.trim() };
36
+ }
37
+ }
38
+ return result;
39
+ },
40
+ async runScript(script, language) {
41
+ return conn.runScript(script, language);
42
+ },
43
+ },
44
+ };
45
+ }
46
+ //# sourceMappingURL=evaluate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAG3G,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,IAAc,EACd,aAA4B;IAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAEzF,MAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAQ,CAAC;IAChF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IACnF,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAElC,OAAO;QACH,YAAY;QACZ,MAAM,EAAE;YACJ,KAAK,CAAC,UAAU,CAAC,OAAe;gBAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,QAAQ,GAAG,OAAO,KAAK,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACzF,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO,MAAM,CAAC;gBAElC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACd,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBAChE,IAAI,SAAS,EAAE,CAAC;wBACZ,aAAa,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC3E,CAAC;yBAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;wBAChC,aAAa,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC1E,CAAC;gBACL,CAAC;gBAED,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,QAA6B;gBACzD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;SACJ;KACJ,CAAC;AACN,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import { z } from 'zod';
5
5
  import { COMMANDS, CATEGORIES, refToLocator } from '@playwright-repl/core';
6
6
  import pkg from '../package.json' with { type: 'json' };
7
7
  import { createBridgeRunner } from './bridge.js';
8
+ import { createEvaluateRunner } from './evaluate.js';
8
9
  import { createStandaloneRunner } from './standalone.js';
9
10
  import { logStartup, logEvent, logToolCall, logToolResult, logError, LOG_FILE } from './logger.js';
10
11
  const argv = process.argv.slice(2);
@@ -12,9 +13,20 @@ const standalone = argv.includes('--standalone');
12
13
  const headed = argv.includes('--headed');
13
14
  const snapshotCache = { value: null };
14
15
  // ─── Create runner ───────────────────────────────────────────────────────────
15
- const { runner, descriptions } = standalone
16
- ? createStandaloneRunner(headed, snapshotCache)
17
- : await createBridgeRunner(argv, snapshotCache);
16
+ let runnerModule;
17
+ if (standalone) {
18
+ // Try evaluate mode (extension + JS support), fall back to Engine (keyword only)
19
+ try {
20
+ runnerModule = await createEvaluateRunner(argv, snapshotCache);
21
+ }
22
+ catch {
23
+ runnerModule = createStandaloneRunner(headed, snapshotCache);
24
+ }
25
+ }
26
+ else {
27
+ runnerModule = await createBridgeRunner(argv, snapshotCache);
28
+ }
29
+ const { runner, descriptions } = runnerModule;
18
30
  logStartup(standalone ? 'standalone' : 'bridge', `log → ${LOG_FILE}`);
19
31
  // ─── MCP server ──────────────────────────────────────────────────────────────
20
32
  const server = new McpServer({ name: 'playwright-repl', version: pkg.version });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,25 +1,26 @@
1
- {
2
- "name": "@playwright-repl/mcp",
3
- "description": "MCP server — AI agents control your real Chrome browser",
4
- "version": "0.21.10",
5
- "type": "module",
6
- "bin": {
7
- "playwright-repl-mcp": "./dist/index.js"
8
- },
9
- "main": "./dist/index.js",
10
- "files": [
11
- "dist/"
12
- ],
13
- "publishConfig": {
14
- "access": "public"
15
- },
16
- "dependencies": {
17
- "@modelcontextprotocol/sdk": "^1.10.0",
18
- "zod": "^3.24.0",
19
- "@playwright-repl/core": "0.21.10",
20
- "playwright-repl": "0.21.10"
21
- },
22
- "scripts": {
23
- "build": "tsc --build tsconfig.build.json"
24
- }
1
+ {
2
+ "name": "@playwright-repl/mcp",
3
+ "description": "MCP server — AI agents control your real Chrome browser",
4
+ "version": "0.22.0",
5
+ "type": "module",
6
+ "bin": {
7
+ "playwright-repl-mcp": "./dist/index.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "files": [
11
+ "dist/"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc --build tsconfig.build.json"
15
+ },
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "dependencies": {
20
+ "@modelcontextprotocol/sdk": "^1.10.0",
21
+ "@playwright-repl/core": "workspace:*",
22
+ "@playwright/test": "^1.59.1",
23
+ "playwright-repl": "workspace:*",
24
+ "zod": "^3.24.0"
25
+ }
25
26
  }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Steve Zhang
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.