@playwright-repl/mcp 0.21.10 → 0.22.1
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 +11 -16
- package/dist/evaluate.d.ts +7 -0
- package/dist/evaluate.d.ts.map +1 -0
- package/dist/evaluate.js +46 -0
- package/dist/evaluate.js.map +1 -0
- package/dist/index.js +15 -3
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
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
|
|
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
|
-
↕
|
|
57
|
-
|
|
58
|
-
↕
|
|
59
|
-
|
|
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 —
|
|
80
|
+
#### Standalone mode — launches browser with extension
|
|
81
81
|
|
|
82
|
-
Add `--standalone` to the MCP server command. The server launches
|
|
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
|
-
-
|
|
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
|
|
183
|
+
### Playwright API / JavaScript
|
|
184
184
|
|
|
185
|
-
|
|
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
|
-
|
|
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"}
|
package/dist/evaluate.js
ADDED
|
@@ -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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGnG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAEzC,MAAM,aAAa,GAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAErD,gFAAgF;AAEhF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@playwright-repl/mcp",
|
|
3
3
|
"description": "MCP server — AI agents control your real Chrome browser",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.22.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"playwright-repl-mcp": "./dist/index.js"
|
|
@@ -15,9 +15,10 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@modelcontextprotocol/sdk": "^1.10.0",
|
|
18
|
+
"@playwright/test": "^1.59.1",
|
|
18
19
|
"zod": "^3.24.0",
|
|
19
|
-
"@playwright-repl/core": "0.
|
|
20
|
-
"playwright-repl": "0.
|
|
20
|
+
"@playwright-repl/core": "0.22.1",
|
|
21
|
+
"playwright-repl": "0.22.1"
|
|
21
22
|
},
|
|
22
23
|
"scripts": {
|
|
23
24
|
"build": "tsc --build tsconfig.build.json"
|