smooth-operator-mcp 3.0.5 → 3.1.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/.env.example CHANGED
@@ -30,6 +30,9 @@ SMOOTH_OPERATOR_BROWSER_CONNECT_TIMEOUT_MS=30000
30
30
  SMOOTH_OPERATOR_BROWSER_CDP_TIMEOUT_MS=30000
31
31
  SMOOTH_OPERATOR_MAX_SCREENSHOT_BYTES=8000000
32
32
  SMOOTH_OPERATOR_MAX_HTML_CHARS=200000
33
+ # Optional idle cleanup for the connected browser; 0 disables idle cleanup.
34
+ # The maximum accepted value is 86400000 ms (24 hours).
35
+ # SMOOTH_OPERATOR_BROWSER_IDLE_TIMEOUT_MS=0
33
36
 
34
37
  # Network and page-operation safety invariants
35
38
  SMOOTH_OPERATOR_ALLOWED_DOMAINS=
package/README.md CHANGED
@@ -31,7 +31,10 @@ The wizard asks exactly 3 focused questions: browser profile ownership, browser
31
31
 
32
32
  Requires Node 22.23.2+ and an installed Chromium-based browser. Profile at `~/.smooth-operator/browser` — sign in once.
33
33
 
34
- Verify: `smooth-operator --help` and `server_health` / `browser_doctor` appear after restart.
34
+ Verify: `smooth-operator --help` and `server_health` / `browser_doctor` appear after restart. `server_health` reports `ok` when the runtime is ready, `degraded` when browser recovery is required or its managed profile lease is not held, and `shutting_down` during teardown; an idle lazy browser is healthy.
35
+
36
+ For a local release check, run `npm run verify`; it covers lint, type safety,
37
+ tests, dead-code analysis, and the package smoke test.
35
38
 
36
39
  ## What it does
37
40
 
@@ -39,6 +42,15 @@ Verify: `smooth-operator --help` and `server_health` / `browser_doctor` appear a
39
42
  - Inspect pages with snapshots, accessibility trees, HTML, styles, text search, and bounded extraction
40
43
  - Work across tabs, frames, popups, shadow DOM, dialogs, cookies, storage, downloads, screenshots, and PDFs
41
44
  - Search the web through bounded DuckDuckGo retrieval
45
+ - Search a bounded metadata-only network journal by request ID, URL, method, status, and resource type
46
+ - Block page-scoped image, stylesheet, font, media, and script subresources; document and navigation requests are never selectable
47
+ - Inspect a selected element's safe attributes, styles, animations, and shallow children without returning scripts, event source, form values, or arbitrary data attributes
48
+ - Upload one file or up to 20 files from allowed roots; each file is capped at 50 MiB and the aggregate at 100 MiB
49
+ - Read, set, and delete URL-scoped cookies with validated SameSite settings; cookie values are omitted from reads
50
+
51
+ The MCP registry exposes 64 public tools. The surface includes bounded network
52
+ search, safe element inspection, page-scoped resource blocking, and file and
53
+ cookie controls alongside the navigation, extraction, and lifecycle tools.
42
54
 
43
55
  Ask: *“Scrape pricing into a table”*, *“Fill this form with ~/resume.pdf”*, or *“Download the monthly report as a PDF.”*
44
56
 
@@ -48,7 +60,7 @@ Talk to your harness normally. It can call `browser_navigate` → `browser_snaps
48
60
 
49
61
  Browser identity remains native, page JavaScript is available by default, and
50
62
  behavioral timing is off for fast deterministic input. Set the explicit
51
- environment flags to change those choices. See `docs/STEALTH-GUIDE.md` for
63
+ environment flags to change those choices. See the [browser compatibility guide](docs/STEALTH-GUIDE.md) for
52
64
  details and responsible use.
53
65
 
54
66
  For the fastest supported operation, keep behavioral timing off with
@@ -57,6 +69,13 @@ cancellable. All local browser tools and page features are available by default;
57
69
  remote HTTP, private-network access, and file roots remain explicitly gated.
58
70
  Faster calls do not bypass challenges or grant permission to automate a site.
59
71
 
72
+ Managed mode preflights a regular executable when it needs to launch, and
73
+ launch mode does so before invoking Chromium. Both wait for browser launch
74
+ readiness and a target-guard acknowledgement before returning a usable
75
+ connection. The loopback DevTools `/json/version` probe is bounded to 64 KiB
76
+ before JSON parsing. There is no arbitrary CDP or host-code tool; page
77
+ evaluation remains an explicit page capability.
78
+
60
79
  ## Why
61
80
 
62
81
  - Zero setup — managed, headed, persistent browser by default
@@ -64,6 +83,10 @@ Faster calls do not bypass challenges or grant permission to automate a site.
64
83
  - Reliable — private profiles, stale-reference recovery, reconnect handling, and structured errors
65
84
  - Flexible — stdio by default, Streamable HTTP when you need it, plus connect and disabled modes
66
85
 
86
+ For HTTP deployments, the configured MCP path also has a bounded readiness
87
+ endpoint at `<path>/healthz` (normally `/mcp/healthz`), subject to the same
88
+ HTTP authentication policy as the MCP endpoint.
89
+
67
90
  ## Benchmarks
68
91
 
69
92
  Compared with [Browser Use MCP](https://github.com/browser-use/browser-use) · [![Browser Use GitHub stars](https://img.shields.io/github/stars/browser-use/browser-use?style=social)](https://github.com/browser-use/browser-use)