@automatebrowser/mcp 0.3.0 → 1.0.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/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +20 -14
- package/README.md +145 -145
- package/dist/{chunk-WAXVZKT5.js → chunk-7POW4XPJ.js} +3 -2
- package/dist/{chunk-R5JREBXQ.js → chunk-NRT623ZU.js} +3 -3
- package/dist/cli.js +2 -2
- package/dist/index.js +2 -2
- package/dist/relay.js +1 -1
- package/package.json +3 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "automate-browser",
|
|
3
3
|
"displayName": "AutomateBrowser",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "1.0.0",
|
|
5
5
|
"description": "Drive your real, logged-in browser from your editor — 46 tools, plus the automate-browser skill covering tab ownership, page interaction, extraction, sessions, capture and troubleshooting.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "AutomateBrowser"
|
package/CHANGELOG.md
CHANGED
|
@@ -4,25 +4,31 @@ Notable changes to `@automatebrowser/mcp`. Format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versions follow
|
|
5
5
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
**`1.0.0` is the first release on npm under this name**, published 2026-09-19. `0.2.0` and `0.3.0`
|
|
8
|
+
were cut the same way — 2026-08-26 and 2026-09-17 — and held; `0.3.0` was published on the day of
|
|
9
|
+
the `1.0.0` release and withdrawn the same hour, so `1.0.0` is the only version the registry serves.
|
|
10
|
+
Its tag stays in the repository because the cut was real. Every version before those belongs to
|
|
11
|
+
`@browsermcp/mcp`, the project this one was extracted from. That lineage is kept below rather than
|
|
12
|
+
hidden, because an installed copy that predates the rebrand is still out there and its users need
|
|
13
|
+
somewhere to see what changed.
|
|
13
14
|
|
|
14
15
|
Dates are the date of the work, not of a release.
|
|
15
16
|
|
|
16
17
|
## [Unreleased]
|
|
17
18
|
|
|
18
|
-
Nothing yet. `0.
|
|
19
|
+
Nothing yet. `1.0.0` was published on 2026-09-19, and work after it lands here.
|
|
19
20
|
|
|
20
|
-
## [0.
|
|
21
|
+
## [1.0.0] — 2026-09-19
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
The first release published to npm. This is the bulk of the current product, substantially more than
|
|
24
|
+
`[0.2.0]` contains, so it is this section and not that one that describes what a user actually
|
|
25
|
+
receives. `[0.2.0]` stays rather than being absorbed, because it names a real cut that the link block
|
|
26
|
+
below points at.
|
|
27
|
+
|
|
28
|
+
**Numbered `1.0.0`, not `0.3.0`.** The same content went up as `0.3.0` first and was withdrawn within
|
|
29
|
+
the hour. `0.x` was chosen in September on the grounds that stages were still being added; that
|
|
30
|
+
reasoning expired once the product was complete, gated and documented, and a first public release is
|
|
31
|
+
a statement about the interface being committed to rather than about how much work remains.
|
|
26
32
|
|
|
27
33
|
### Added
|
|
28
34
|
|
|
@@ -162,6 +168,6 @@ The last release of `@browsermcp/mcp`, the upstream project this was extracted f
|
|
|
162
168
|
under that name. `0.1.0` through `0.1.2` precede it; this repository begins at the point the server
|
|
163
169
|
was extracted from that monorepo on 2025-03-27, and no history before that is reproduced here.
|
|
164
170
|
|
|
165
|
-
[Unreleased]: https://github.com/farazpawle/automatebrowser/compare/
|
|
166
|
-
[0.
|
|
171
|
+
[Unreleased]: https://github.com/farazpawle/automatebrowser/compare/v1.0.0...HEAD
|
|
172
|
+
[1.0.0]: https://github.com/farazpawle/automatebrowser/compare/cf28a4b...v1.0.0
|
|
167
173
|
[0.2.0]: https://github.com/farazpawle/automatebrowser/commit/cf28a4b
|
package/README.md
CHANGED
|
@@ -390,111 +390,111 @@ one client run **one at a time, in the order they were issued**, so a click can
|
|
|
390
390
|
navigation that was meant to precede it. Different clients are not serialized against each other — that
|
|
391
391
|
is what the per-tab claim is for.
|
|
392
392
|
|
|
393
|
-
<!-- AUTO-GENERATED:tools START — do not edit by hand; run `npm run docs:generate` -->
|
|
394
|
-
|
|
395
|
-
**Tool profiles** — `full` (46) · `core` (19) · `slim` (7). Set `AUTOMATE_BROWSER_TOOLS` to a profile name or a comma-separated category list to serve fewer schemas; `browser_status`, `browser_list_clients` and `browser_select_client` are always served.
|
|
396
|
-
|
|
397
|
-
### Navigation & history
|
|
398
|
-
| Tool | Description |
|
|
399
|
-
|------|-------------|
|
|
400
|
-
| `browser_navigate` | Navigate to a URL in YOUR OWN tab, opened in the background if you have none |
|
|
401
|
-
| `browser_go_back` | Go back to the previous page |
|
|
402
|
-
| `browser_go_forward` | Go forward to the next page |
|
|
403
|
-
|
|
404
|
-
### Snapshot & interaction
|
|
405
|
-
| Tool | Description |
|
|
406
|
-
|------|-------------|
|
|
407
|
-
| `browser_snapshot` | Capture accessibility snapshot of the current page |
|
|
408
|
-
| `browser_click` | Click an element by ref, or a viewport point by x/y |
|
|
409
|
-
| `browser_hover` | Hover over element on page |
|
|
410
|
-
| `browser_type` | Type text into editable element |
|
|
411
|
-
| `browser_select_option` | Select an option in a dropdown |
|
|
412
|
-
| `browser_drag` | Perform drag and drop between two elements |
|
|
413
|
-
|
|
414
|
-
### Input & timing
|
|
415
|
-
| Tool | Description |
|
|
416
|
-
|------|-------------|
|
|
417
|
-
| `browser_press_key` | Press a key or modifier combo (e.g. Enter, Tab, "Control+A", "Shift+Tab") on the focused element |
|
|
418
|
-
| `browser_wait` | Wait for a specified time in seconds |
|
|
419
|
-
| `browser_wait_for` | Wait for a page condition to become true (element appears/disappears, text appears, URL changes) |
|
|
420
|
-
|
|
421
|
-
### Reading content
|
|
422
|
-
| Tool | Description |
|
|
423
|
-
|------|-------------|
|
|
424
|
-
| `browser_read_page` | Read the page's main content as clean text or Markdown (strips nav/scripts/styles) |
|
|
425
|
-
| `browser_get_html` | Get the raw outerHTML of the page (or of a specific element by `ref`) |
|
|
426
|
-
| `browser_find` | Find elements by text, role, and/or CSS selector and return fresh refs WITHOUT a full snapshot |
|
|
427
|
-
|
|
428
|
-
### Page-declared tools
|
|
429
|
-
Actions the PAGE publishes about itself, which an agent can call directly instead of finding and clicking controls for. Forward-looking: the standard is a draft and almost no live site declares anything yet, so `list` normally comes back empty with the reason.
|
|
430
|
-
|
|
431
|
-
| Tool | Description |
|
|
432
|
-
|------|-------------|
|
|
433
|
-
| `browser_page_tools` | List and call actions a page declares about itself (WebMCP) |
|
|
434
|
-
|
|
435
|
-
### Forms & scrolling
|
|
436
|
-
| Tool | Description |
|
|
437
|
-
|------|-------------|
|
|
438
|
-
| `browser_fill_form` | Fill multiple form fields (inputs, textareas, selects, checkboxes, radios, contenteditable) in ONE call |
|
|
439
|
-
| `browser_clear` | Clear the value of an input, textarea, or contenteditable element by `ref` |
|
|
440
|
-
| `browser_scroll` | Scroll the page or an element |
|
|
441
|
-
|
|
442
|
-
### State: cookies, storage, network, downloads, dialogs
|
|
443
|
-
| Tool | Description |
|
|
444
|
-
|------|-------------|
|
|
445
|
-
| `browser_get_cookies` | List cookies for the URL of the tab you are driving (optionally filter by `name`) |
|
|
446
|
-
| `browser_set_cookie` | Set (create/overwrite) a cookie on the URL of the tab you are driving |
|
|
447
|
-
| `browser_storage` | Read or write the page's localStorage/sessionStorage |
|
|
448
|
-
| `browser_network_requests` | List network requests the tab you are driving made on the CURRENT page (method, URL, status, type, timing) — pass includePreserved for the pages before it |
|
|
449
|
-
| `browser_handle_dialog` | Control JS dialogs (alert/confirm/prompt) |
|
|
450
|
-
| `browser_downloads` | Recent downloads: final path on disk, URL, mime, size, state |
|
|
451
|
-
| `browser_proxy` | Route the browser through a proxy |
|
|
452
|
-
|
|
453
|
-
### Performance
|
|
454
|
-
`browser_perf_trace` measures THIS machine on THIS run and needs `browser_advanced_mode` — except `action: "memory"`, which samples the JS heap with no debugger and no banner. `browser_perf_field_data` needs no browser at all - it reads Google's Chrome UX Report for what real visitors experienced, and sends the URL you ask about to that public API.
|
|
455
|
-
|
|
456
|
-
| Tool | Description |
|
|
457
|
-
|------|-------------|
|
|
458
|
-
| `browser_perf_field_data` | Real-user Core Web Vitals (p75 LCP/INP/CLS/FCP/TTFB) for a URL, from Google's Chrome UX Report |
|
|
459
|
-
|
|
460
|
-
### Capture & evaluation
|
|
461
|
-
| Tool | Description |
|
|
462
|
-
|------|-------------|
|
|
463
|
-
| `browser_screenshot` | Capture the visible viewport of the tab you are driving — including a background tab, which is rendered via the debugger (brief banner) rather than refused |
|
|
464
|
-
| `browser_get_console_logs` | Console logs, uncaught errors with stacks, and service-worker lifecycle (register/state/messages) |
|
|
465
|
-
| `browser_issues` | Problems the browser detected that produce NO console error: blocked content (CSP), deprecated API use, browser interventions, and failed or 4xx/5xx network requests |
|
|
466
|
-
| `browser_eval` | Evaluate JavaScript in the tab you are driving and return the result |
|
|
467
|
-
|
|
468
|
-
### Tabs
|
|
469
|
-
| Tool | Description |
|
|
470
|
-
|------|-------------|
|
|
471
|
-
| `browser_list_tabs` | List the connected browser's open tabs |
|
|
472
|
-
| `browser_new_tab` | Open a new tab IN THE BACKGROUND and drive it — no focus stealing |
|
|
473
|
-
| `browser_switch_tab` | STEALS THE USER'S FOCUS: brings a tab to the front and drives it, by `tabId` (preferred) or `index` |
|
|
474
|
-
| `browser_select_tab` | TAKE OVER a tab the user already has open, WITHOUT focusing it — the tool for "pick up the testing I started" |
|
|
475
|
-
| `browser_close_tab` | Close a tab by `tabId` or `index` |
|
|
476
|
-
|
|
477
|
-
### Multi-IDE / clients
|
|
478
|
-
| Tool | Description |
|
|
479
|
-
|------|-------------|
|
|
480
|
-
| `browser_list_clients` | List every browser connected to the shared AutomateBrowser relay (e.g. Chrome and Edge when both have the extension connected), across all IDEs |
|
|
481
|
-
| `browser_select_client` | Choose which connected browser your subsequent tools act on |
|
|
482
|
-
| `browser_force_claim` | Forcibly take over a browser that another agent is currently driving, and make it active for your tools |
|
|
483
|
-
| `browser_release_client` | Release your claim on the browser you are currently driving so another agent can take it |
|
|
484
|
-
| `browser_status` | Diagnostics for the AutomateBrowser relay |
|
|
485
|
-
|
|
486
|
-
### Advanced (opt-in CDP)
|
|
487
|
-
Attach the Chrome debugger only when you need full-fidelity input or network bodies. Enable with
|
|
488
|
-
`browser_advanced_mode` first; a debugging banner shows only while it's attached.
|
|
489
|
-
|
|
490
|
-
| Tool | Description |
|
|
491
|
-
|------|-------------|
|
|
492
|
-
| `browser_advanced_mode` | Enable/disable opt-in debugger (CDP) mode for the tab you are driving |
|
|
493
|
-
| `browser_upload_file` | Set files on a file input (real upload) |
|
|
494
|
-
| `browser_get_network_request` | Get a network request's response BODY, status and headers by URL substring |
|
|
495
|
-
| `browser_perf_trace` | Record a performance trace (requires advanced/debugger mode) |
|
|
496
|
-
| `browser_emulate` | Emulate location, headers, colour scheme, viewport, user agent, network or CPU |
|
|
497
|
-
|
|
393
|
+
<!-- AUTO-GENERATED:tools START — do not edit by hand; run `npm run docs:generate` -->
|
|
394
|
+
|
|
395
|
+
**Tool profiles** — `full` (46) · `core` (19) · `slim` (7). Set `AUTOMATE_BROWSER_TOOLS` to a profile name or a comma-separated category list to serve fewer schemas; `browser_status`, `browser_list_clients` and `browser_select_client` are always served.
|
|
396
|
+
|
|
397
|
+
### Navigation & history
|
|
398
|
+
| Tool | Description |
|
|
399
|
+
|------|-------------|
|
|
400
|
+
| `browser_navigate` | Navigate to a URL in YOUR OWN tab, opened in the background if you have none |
|
|
401
|
+
| `browser_go_back` | Go back to the previous page |
|
|
402
|
+
| `browser_go_forward` | Go forward to the next page |
|
|
403
|
+
|
|
404
|
+
### Snapshot & interaction
|
|
405
|
+
| Tool | Description |
|
|
406
|
+
|------|-------------|
|
|
407
|
+
| `browser_snapshot` | Capture accessibility snapshot of the current page |
|
|
408
|
+
| `browser_click` | Click an element by ref, or a viewport point by x/y |
|
|
409
|
+
| `browser_hover` | Hover over element on page |
|
|
410
|
+
| `browser_type` | Type text into editable element |
|
|
411
|
+
| `browser_select_option` | Select an option in a dropdown |
|
|
412
|
+
| `browser_drag` | Perform drag and drop between two elements |
|
|
413
|
+
|
|
414
|
+
### Input & timing
|
|
415
|
+
| Tool | Description |
|
|
416
|
+
|------|-------------|
|
|
417
|
+
| `browser_press_key` | Press a key or modifier combo (e.g. Enter, Tab, "Control+A", "Shift+Tab") on the focused element |
|
|
418
|
+
| `browser_wait` | Wait for a specified time in seconds |
|
|
419
|
+
| `browser_wait_for` | Wait for a page condition to become true (element appears/disappears, text appears, URL changes) |
|
|
420
|
+
|
|
421
|
+
### Reading content
|
|
422
|
+
| Tool | Description |
|
|
423
|
+
|------|-------------|
|
|
424
|
+
| `browser_read_page` | Read the page's main content as clean text or Markdown (strips nav/scripts/styles) |
|
|
425
|
+
| `browser_get_html` | Get the raw outerHTML of the page (or of a specific element by `ref`) |
|
|
426
|
+
| `browser_find` | Find elements by text, role, and/or CSS selector and return fresh refs WITHOUT a full snapshot |
|
|
427
|
+
|
|
428
|
+
### Page-declared tools
|
|
429
|
+
Actions the PAGE publishes about itself, which an agent can call directly instead of finding and clicking controls for. Forward-looking: the standard is a draft and almost no live site declares anything yet, so `list` normally comes back empty with the reason.
|
|
430
|
+
|
|
431
|
+
| Tool | Description |
|
|
432
|
+
|------|-------------|
|
|
433
|
+
| `browser_page_tools` | List and call actions a page declares about itself (WebMCP) |
|
|
434
|
+
|
|
435
|
+
### Forms & scrolling
|
|
436
|
+
| Tool | Description |
|
|
437
|
+
|------|-------------|
|
|
438
|
+
| `browser_fill_form` | Fill multiple form fields (inputs, textareas, selects, checkboxes, radios, contenteditable) in ONE call |
|
|
439
|
+
| `browser_clear` | Clear the value of an input, textarea, or contenteditable element by `ref` |
|
|
440
|
+
| `browser_scroll` | Scroll the page or an element |
|
|
441
|
+
|
|
442
|
+
### State: cookies, storage, network, downloads, dialogs
|
|
443
|
+
| Tool | Description |
|
|
444
|
+
|------|-------------|
|
|
445
|
+
| `browser_get_cookies` | List cookies for the URL of the tab you are driving (optionally filter by `name`) |
|
|
446
|
+
| `browser_set_cookie` | Set (create/overwrite) a cookie on the URL of the tab you are driving |
|
|
447
|
+
| `browser_storage` | Read or write the page's localStorage/sessionStorage |
|
|
448
|
+
| `browser_network_requests` | List network requests the tab you are driving made on the CURRENT page (method, URL, status, type, timing) — pass includePreserved for the pages before it |
|
|
449
|
+
| `browser_handle_dialog` | Control JS dialogs (alert/confirm/prompt) |
|
|
450
|
+
| `browser_downloads` | Recent downloads: final path on disk, URL, mime, size, state |
|
|
451
|
+
| `browser_proxy` | Route the browser through a proxy |
|
|
452
|
+
|
|
453
|
+
### Performance
|
|
454
|
+
`browser_perf_trace` measures THIS machine on THIS run and needs `browser_advanced_mode` — except `action: "memory"`, which samples the JS heap with no debugger and no banner. `browser_perf_field_data` needs no browser at all - it reads Google's Chrome UX Report for what real visitors experienced, and sends the URL you ask about to that public API.
|
|
455
|
+
|
|
456
|
+
| Tool | Description |
|
|
457
|
+
|------|-------------|
|
|
458
|
+
| `browser_perf_field_data` | Real-user Core Web Vitals (p75 LCP/INP/CLS/FCP/TTFB) for a URL, from Google's Chrome UX Report |
|
|
459
|
+
|
|
460
|
+
### Capture & evaluation
|
|
461
|
+
| Tool | Description |
|
|
462
|
+
|------|-------------|
|
|
463
|
+
| `browser_screenshot` | Capture the visible viewport of the tab you are driving — including a background tab, which is rendered via the debugger (brief banner) rather than refused |
|
|
464
|
+
| `browser_get_console_logs` | Console logs, uncaught errors with stacks, and service-worker lifecycle (register/state/messages) |
|
|
465
|
+
| `browser_issues` | Problems the browser detected that produce NO console error: blocked content (CSP), deprecated API use, browser interventions, and failed or 4xx/5xx network requests |
|
|
466
|
+
| `browser_eval` | Evaluate JavaScript in the tab you are driving and return the result |
|
|
467
|
+
|
|
468
|
+
### Tabs
|
|
469
|
+
| Tool | Description |
|
|
470
|
+
|------|-------------|
|
|
471
|
+
| `browser_list_tabs` | List the connected browser's open tabs |
|
|
472
|
+
| `browser_new_tab` | Open a new tab IN THE BACKGROUND and drive it — no focus stealing |
|
|
473
|
+
| `browser_switch_tab` | STEALS THE USER'S FOCUS: brings a tab to the front and drives it, by `tabId` (preferred) or `index` |
|
|
474
|
+
| `browser_select_tab` | TAKE OVER a tab the user already has open, WITHOUT focusing it — the tool for "pick up the testing I started" |
|
|
475
|
+
| `browser_close_tab` | Close a tab by `tabId` or `index` |
|
|
476
|
+
|
|
477
|
+
### Multi-IDE / clients
|
|
478
|
+
| Tool | Description |
|
|
479
|
+
|------|-------------|
|
|
480
|
+
| `browser_list_clients` | List every browser connected to the shared AutomateBrowser relay (e.g. Chrome and Edge when both have the extension connected), across all IDEs |
|
|
481
|
+
| `browser_select_client` | Choose which connected browser your subsequent tools act on |
|
|
482
|
+
| `browser_force_claim` | Forcibly take over a browser that another agent is currently driving, and make it active for your tools |
|
|
483
|
+
| `browser_release_client` | Release your claim on the browser you are currently driving so another agent can take it |
|
|
484
|
+
| `browser_status` | Diagnostics for the AutomateBrowser relay |
|
|
485
|
+
|
|
486
|
+
### Advanced (opt-in CDP)
|
|
487
|
+
Attach the Chrome debugger only when you need full-fidelity input or network bodies. Enable with
|
|
488
|
+
`browser_advanced_mode` first; a debugging banner shows only while it's attached.
|
|
489
|
+
|
|
490
|
+
| Tool | Description |
|
|
491
|
+
|------|-------------|
|
|
492
|
+
| `browser_advanced_mode` | Enable/disable opt-in debugger (CDP) mode for the tab you are driving |
|
|
493
|
+
| `browser_upload_file` | Set files on a file input (real upload) |
|
|
494
|
+
| `browser_get_network_request` | Get a network request's response BODY, status and headers by URL substring |
|
|
495
|
+
| `browser_perf_trace` | Record a performance trace (requires advanced/debugger mode) |
|
|
496
|
+
| `browser_emulate` | Emulate location, headers, colour scheme, viewport, user agent, network or CPU |
|
|
497
|
+
|
|
498
498
|
<!-- AUTO-GENERATED:tools END -->
|
|
499
499
|
|
|
500
500
|
## Terminal CLI
|
|
@@ -535,45 +535,45 @@ pays none.
|
|
|
535
535
|
|
|
536
536
|
All settings are environment variables on the **server** side (set them in the MCP client's `env`):
|
|
537
537
|
|
|
538
|
-
<!-- AUTO-GENERATED:config START — do not edit by hand; run `npm run docs:generate` -->
|
|
539
|
-
|
|
540
|
-
| Variable | Purpose | Default |
|
|
541
|
-
|----------|---------|---------|
|
|
542
|
-
| `AUTOMATE_BROWSER_CLIENT_NAME` | Human name for this IDE in the relay roster | `mcp-<pid>` (CLI: `cli`) |
|
|
543
|
-
| `AUTOMATE_BROWSER_TOKEN` | Optional auth token (set the same value in the extension popup) | unset |
|
|
544
|
-
| `AUTOMATE_BROWSER_TOOLS` | Tool profile (`full`, `core`, `slim`) or a comma-separated category list | `full` |
|
|
545
|
-
| `AUTOMATE_BROWSER_CONNECT_WAIT_MS` | How long a tool waits for a browser to appear | `30000` |
|
|
546
|
-
| `AUTOMATE_BROWSER_LEASE_TTL_MS` | Soft-claim lease duration | `60000` |
|
|
547
|
-
| `AUTOMATE_BROWSER_INSTANCE_ID` | Identity used to replace this agent's own previous roster entry when it restarts | derived from parent process + folder |
|
|
548
|
-
| `AUTOMATE_BROWSER_CONTROLLER_STALE_MS` | Drop an agent that has sent nothing for this long | `45000` |
|
|
549
|
-
| `AUTOMATE_BROWSER_WS_PORT_RANGE` | Port scan range (e.g. `9109-9116` to isolate) | `9009-9013` |
|
|
550
|
-
| `AUTOMATE_BROWSER_RELAY_IDLE_MS` | Idle time before the relay exits | `300000` |
|
|
551
|
-
| `AUTOMATE_BROWSER_RELAY_HOST` | Bind the relay past loopback so a browser on **another machine** can connect. Refuses to start without `AUTOMATE_BROWSER_TOKEN` | `127.0.0.1` |
|
|
552
|
-
| `AUTOMATE_BROWSER_RELAY_FOREGROUND` | `1` also tees the relay's log to stderr instead of the file only | unset |
|
|
553
|
-
| `AUTOMATE_BROWSER_SNAPSHOT_EACH_ACTION` | Bundle a snapshot after every interaction | unset |
|
|
554
|
-
| `AUTOMATE_BROWSER_DELTA_FOOTER` | `off` disables the console-error footer below | on |
|
|
555
|
-
| `AUTOMATE_BROWSER_DELTA_FOOTER_MS` | Hard ceiling on the footer's console probe | `2000` |
|
|
556
|
-
| `AUTOMATE_BROWSER_NAV_CONFIRM_MS` | How long a navigation that reported no movement is re-checked before it is called a failure | `2000` |
|
|
557
|
-
| `AUTOMATE_BROWSER_SCREENSHOT_MAX_WIDTH` | Widest an **inline** screenshot may come back. A `filePath` capture is never downscaled; `0` = off | `1536` |
|
|
558
|
-
| `AUTOMATE_BROWSER_SCREENSHOT_MAX_HEIGHT` | Tallest an **inline** screenshot may come back, aspect ratio preserved; `0` = off | `4096` |
|
|
559
|
-
| `AUTOMATE_BROWSER_ACTIONABILITY` | `off` disables the pre-action checks and post-action settle below | on |
|
|
560
|
-
| `AUTOMATE_BROWSER_WS_MAX_PAYLOAD_BYTES` | Max WebSocket frame size. A whole Chrome trace is never under 1 MiB, and an oversized frame closes the socket rather than truncating | `67108864` (64 MiB) |
|
|
561
|
-
| `AUTOMATE_BROWSER_WS_RATE_MAX` | Frames one socket may send per window before it is closed | `120` |
|
|
562
|
-
| `AUTOMATE_BROWSER_WS_RATE_WINDOW_MS` | The window that ceiling is counted over | `1000` |
|
|
563
|
-
| `AUTOMATE_BROWSER_EXTENSION_ORIGINS` | Comma-separated browser-extension origins allowed to open a socket | the AutomateBrowser extension |
|
|
564
|
-
| `AUTOMATE_BROWSER_LOG_LEVEL` | `debug`, `info`, `warn` or `error`. Diagnostics go to stderr, never stdout | `info` |
|
|
565
|
-
| `AUTOMATE_BROWSER_WORKSPACE` | Extra folders the file-path sandbox accepts, `;`-separated on Windows and `:`-separated elsewhere. Adds to the roots your client sends; never replaces them | unset (client roots, or the working directory when it sends none) |
|
|
566
|
-
| `AUTOMATE_BROWSER_ALLOW_UNRESTRICTED_PATHS` | `1` disables the file-path sandbox below | unset |
|
|
567
|
-
| `AUTOMATE_BROWSER_ALLOW_ORIGINS` | Comma-separated origin patterns; when set, **only** these may be driven | unset (unrestricted) |
|
|
568
|
-
| `AUTOMATE_BROWSER_DENY_ORIGINS` | Origins that may never be driven, also blocked at the network layer | unset |
|
|
569
|
-
| `AUTOMATE_BROWSER_SENSITIVE_ORIGINS` | Origins that stay readable but can never be acted on | unset |
|
|
570
|
-
| `AUTOMATE_BROWSER_READ_ONLY` | `1` refuses every page-changing tool, everywhere | unset |
|
|
571
|
-
| `AUTOMATE_BROWSER_NO_EVAL` | `1` refuses every tool that runs JavaScript you wrote — `browser_eval` and `browser_navigate`'s `initScript` | unset |
|
|
572
|
-
| `AUTOMATE_BROWSER_AUDIT` | `off` stops the action audit log below | on |
|
|
573
|
-
| `AUTOMATE_BROWSER_AUDIT_FILE` | Where the audit trail is written | `~/.automate-browser/automate-browser-audit.log` |
|
|
574
|
-
| `AUTOMATE_BROWSER_NO_UPDATE_CHECK` | Any value stops the daily check for a newer release below | unset (check runs) |
|
|
575
|
-
| `AUTOMATE_BROWSER_CRUX_KEY` | Google Chrome UX Report API key; `browser_perf_field_data` is inert without it | unset |
|
|
576
|
-
|
|
538
|
+
<!-- AUTO-GENERATED:config START — do not edit by hand; run `npm run docs:generate` -->
|
|
539
|
+
|
|
540
|
+
| Variable | Purpose | Default |
|
|
541
|
+
|----------|---------|---------|
|
|
542
|
+
| `AUTOMATE_BROWSER_CLIENT_NAME` | Human name for this IDE in the relay roster | `mcp-<pid>` (CLI: `cli`) |
|
|
543
|
+
| `AUTOMATE_BROWSER_TOKEN` | Optional auth token (set the same value in the extension popup) | unset |
|
|
544
|
+
| `AUTOMATE_BROWSER_TOOLS` | Tool profile (`full`, `core`, `slim`) or a comma-separated category list | `full` |
|
|
545
|
+
| `AUTOMATE_BROWSER_CONNECT_WAIT_MS` | How long a tool waits for a browser to appear | `30000` |
|
|
546
|
+
| `AUTOMATE_BROWSER_LEASE_TTL_MS` | Soft-claim lease duration | `60000` |
|
|
547
|
+
| `AUTOMATE_BROWSER_INSTANCE_ID` | Identity used to replace this agent's own previous roster entry when it restarts | derived from parent process + folder |
|
|
548
|
+
| `AUTOMATE_BROWSER_CONTROLLER_STALE_MS` | Drop an agent that has sent nothing for this long | `45000` |
|
|
549
|
+
| `AUTOMATE_BROWSER_WS_PORT_RANGE` | Port scan range (e.g. `9109-9116` to isolate) | `9009-9013` |
|
|
550
|
+
| `AUTOMATE_BROWSER_RELAY_IDLE_MS` | Idle time before the relay exits | `300000` |
|
|
551
|
+
| `AUTOMATE_BROWSER_RELAY_HOST` | Bind the relay past loopback so a browser on **another machine** can connect. Refuses to start without `AUTOMATE_BROWSER_TOKEN` | `127.0.0.1` |
|
|
552
|
+
| `AUTOMATE_BROWSER_RELAY_FOREGROUND` | `1` also tees the relay's log to stderr instead of the file only | unset |
|
|
553
|
+
| `AUTOMATE_BROWSER_SNAPSHOT_EACH_ACTION` | Bundle a snapshot after every interaction | unset |
|
|
554
|
+
| `AUTOMATE_BROWSER_DELTA_FOOTER` | `off` disables the console-error footer below | on |
|
|
555
|
+
| `AUTOMATE_BROWSER_DELTA_FOOTER_MS` | Hard ceiling on the footer's console probe | `2000` |
|
|
556
|
+
| `AUTOMATE_BROWSER_NAV_CONFIRM_MS` | How long a navigation that reported no movement is re-checked before it is called a failure | `2000` |
|
|
557
|
+
| `AUTOMATE_BROWSER_SCREENSHOT_MAX_WIDTH` | Widest an **inline** screenshot may come back. A `filePath` capture is never downscaled; `0` = off | `1536` |
|
|
558
|
+
| `AUTOMATE_BROWSER_SCREENSHOT_MAX_HEIGHT` | Tallest an **inline** screenshot may come back, aspect ratio preserved; `0` = off | `4096` |
|
|
559
|
+
| `AUTOMATE_BROWSER_ACTIONABILITY` | `off` disables the pre-action checks and post-action settle below | on |
|
|
560
|
+
| `AUTOMATE_BROWSER_WS_MAX_PAYLOAD_BYTES` | Max WebSocket frame size. A whole Chrome trace is never under 1 MiB, and an oversized frame closes the socket rather than truncating | `67108864` (64 MiB) |
|
|
561
|
+
| `AUTOMATE_BROWSER_WS_RATE_MAX` | Frames one socket may send per window before it is closed | `120` |
|
|
562
|
+
| `AUTOMATE_BROWSER_WS_RATE_WINDOW_MS` | The window that ceiling is counted over | `1000` |
|
|
563
|
+
| `AUTOMATE_BROWSER_EXTENSION_ORIGINS` | Comma-separated browser-extension origins allowed to open a socket | the AutomateBrowser extension |
|
|
564
|
+
| `AUTOMATE_BROWSER_LOG_LEVEL` | `debug`, `info`, `warn` or `error`. Diagnostics go to stderr, never stdout | `info` |
|
|
565
|
+
| `AUTOMATE_BROWSER_WORKSPACE` | Extra folders the file-path sandbox accepts, `;`-separated on Windows and `:`-separated elsewhere. Adds to the roots your client sends; never replaces them | unset (client roots, or the working directory when it sends none) |
|
|
566
|
+
| `AUTOMATE_BROWSER_ALLOW_UNRESTRICTED_PATHS` | `1` disables the file-path sandbox below | unset |
|
|
567
|
+
| `AUTOMATE_BROWSER_ALLOW_ORIGINS` | Comma-separated origin patterns; when set, **only** these may be driven | unset (unrestricted) |
|
|
568
|
+
| `AUTOMATE_BROWSER_DENY_ORIGINS` | Origins that may never be driven, also blocked at the network layer | unset |
|
|
569
|
+
| `AUTOMATE_BROWSER_SENSITIVE_ORIGINS` | Origins that stay readable but can never be acted on | unset |
|
|
570
|
+
| `AUTOMATE_BROWSER_READ_ONLY` | `1` refuses every page-changing tool, everywhere | unset |
|
|
571
|
+
| `AUTOMATE_BROWSER_NO_EVAL` | `1` refuses every tool that runs JavaScript you wrote — `browser_eval` and `browser_navigate`'s `initScript` | unset |
|
|
572
|
+
| `AUTOMATE_BROWSER_AUDIT` | `off` stops the action audit log below | on |
|
|
573
|
+
| `AUTOMATE_BROWSER_AUDIT_FILE` | Where the audit trail is written | `~/.automate-browser/automate-browser-audit.log` |
|
|
574
|
+
| `AUTOMATE_BROWSER_NO_UPDATE_CHECK` | Any value stops the daily check for a newer release below | unset (check runs) |
|
|
575
|
+
| `AUTOMATE_BROWSER_CRUX_KEY` | Google Chrome UX Report API key; `browser_perf_field_data` is inert without it | unset |
|
|
576
|
+
|
|
577
577
|
<!-- AUTO-GENERATED:config END -->
|
|
578
578
|
|
|
579
579
|
### Console-error and issue footers
|
|
@@ -1637,7 +1637,7 @@ So, on startup, the server checks whether a newer release exists and prints one
|
|
|
1637
1637
|
if there is:
|
|
1638
1638
|
|
|
1639
1639
|
```
|
|
1640
|
-
A newer @automatebrowser/mcp is available: 0.
|
|
1640
|
+
A newer @automatebrowser/mcp is available: 1.0.0 -> 1.1.0. Update with `npm i -g @automatebrowser/mcp`.
|
|
1641
1641
|
Set AUTOMATE_BROWSER_NO_UPDATE_CHECK=1 to silence this.
|
|
1642
1642
|
```
|
|
1643
1643
|
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
probePort,
|
|
12
12
|
signAuthChallenge,
|
|
13
13
|
snapshotEachAction
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-NRT623ZU.js";
|
|
15
15
|
|
|
16
16
|
// src/tools/errors.ts
|
|
17
17
|
var ERROR_CODES = [
|
|
@@ -5270,8 +5270,9 @@ async function runTool(context, tool, args, state) {
|
|
|
5270
5270
|
// package.json
|
|
5271
5271
|
var package_default = {
|
|
5272
5272
|
name: "@automatebrowser/mcp",
|
|
5273
|
-
version: "0.
|
|
5273
|
+
version: "1.0.0",
|
|
5274
5274
|
description: "MCP server for browser automation using AutomateBrowser",
|
|
5275
|
+
license: "Apache-2.0",
|
|
5275
5276
|
author: "AutomateBrowser",
|
|
5276
5277
|
homepage: "https://farazpawle.github.io/automatebrowser/",
|
|
5277
5278
|
bugs: "https://github.com/farazpawle/automatebrowser/issues",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// src/vendor/config.ts
|
|
2
2
|
var appConfig = {
|
|
3
3
|
name: "@automatebrowser/mcp",
|
|
4
|
-
version: "0.
|
|
4
|
+
version: "1.0.0",
|
|
5
5
|
server: {
|
|
6
6
|
name: "@automatebrowser/mcp",
|
|
7
|
-
version: "0.
|
|
7
|
+
version: "1.0.0"
|
|
8
8
|
}
|
|
9
9
|
};
|
|
10
10
|
function resolveWsPortRange() {
|
|
@@ -20,7 +20,7 @@ function resolveWsPortRange() {
|
|
|
20
20
|
var mcpConfig = {
|
|
21
21
|
server: {
|
|
22
22
|
name: "@automatebrowser/mcp",
|
|
23
|
-
version: "0.
|
|
23
|
+
version: "1.0.0"
|
|
24
24
|
},
|
|
25
25
|
transport: {
|
|
26
26
|
type: "stdio"
|
package/dist/cli.js
CHANGED
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
package_default,
|
|
7
7
|
renderError,
|
|
8
8
|
selectTools
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-7POW4XPJ.js";
|
|
10
10
|
import {
|
|
11
11
|
debugLog
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-NRT623ZU.js";
|
|
13
13
|
|
|
14
14
|
// src/cli.ts
|
|
15
15
|
import { randomUUID } from "crypto";
|
package/dist/index.js
CHANGED
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
package_default,
|
|
9
9
|
selectTools,
|
|
10
10
|
setRoots
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7POW4XPJ.js";
|
|
12
12
|
import {
|
|
13
13
|
appConfig,
|
|
14
14
|
debugLog,
|
|
15
15
|
log,
|
|
16
16
|
logPath
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-NRT623ZU.js";
|
|
18
18
|
|
|
19
19
|
// src/index.ts
|
|
20
20
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
package/dist/relay.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@automatebrowser/mcp",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "MCP server for browser automation using AutomateBrowser",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "MCP server for browser automation using AutomateBrowser",
|
|
5
|
+
"license": "Apache-2.0",
|
|
5
6
|
"author": "AutomateBrowser",
|
|
6
7
|
"homepage": "https://farazpawle.github.io/automatebrowser/",
|
|
7
8
|
"bugs": "https://github.com/farazpawle/automatebrowser/issues",
|