smooth-operator-mcp 2.4.11 → 3.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/.env.example CHANGED
@@ -11,10 +11,15 @@ SMOOTH_OPERATOR_BROWSER_MODE=managed
11
11
  # For an advanced DevTools connection, use mode=connect and set this endpoint.
12
12
  # SMOOTH_OPERATOR_BROWSER_MODE=connect
13
13
  # SMOOTH_OPERATOR_BROWSER_URL=http://127.0.0.1:9222
14
+ # SMOOTH_OPERATOR_BROWSER_WS_ENDPOINT=ws://127.0.0.1:9222/devtools/browser/<id>
14
15
  # For explicit launch mode, set a Chromium/Chrome executable.
15
16
  # SMOOTH_OPERATOR_BROWSER_MODE=launch
16
17
  # SMOOTH_OPERATOR_BROWSER_EXECUTABLE=/path/to/chrome
17
18
  # SMOOTH_OPERATOR_BROWSER_HEADLESS=true
19
+ # Optional explicit viewport (both values must be set together). Stealth uses
20
+ # these same dimensions for its launch argument and guarded page metrics.
21
+ # SMOOTH_OPERATOR_BROWSER_VIEWPORT_WIDTH=1280
22
+ # SMOOTH_OPERATOR_BROWSER_VIEWPORT_HEIGHT=720
18
23
  # SMOOTH_OPERATOR_BROWSER_USER_DATA_DIR=~/.smooth-operator/browser
19
24
  # SMOOTH_OPERATOR_BROWSER_AUTO_LAUNCH=false
20
25
  # Test-only opt-in live suite override (the CI script discovers Chrome itself).
@@ -30,10 +35,22 @@ SMOOTH_OPERATOR_MAX_HTML_CHARS=200000
30
35
  SMOOTH_OPERATOR_ALLOWED_DOMAINS=
31
36
  SMOOTH_OPERATOR_BLOCKED_DOMAINS=
32
37
  SMOOTH_OPERATOR_ALLOW_PRIVATE_NETWORK=false
33
- SMOOTH_OPERATOR_ALLOW_EVAL=false
34
- # File uploads and generated PDFs stay inside these private roots by default.
38
+ SMOOTH_OPERATOR_ALLOW_EVAL=true
39
+ # Set false for a stricter profile. File uploads and generated PDFs stay inside
40
+ # these private roots by default.
35
41
  # SMOOTH_OPERATOR_ALLOWED_FILE_ROOTS=~/.smooth-operator/files,~/.smooth-operator/downloads
36
42
 
43
+ # Optional automation-control baseline. The native default is enabled; set false
44
+ # to preserve raw browser automation signals.
45
+ # SMOOTH_OPERATOR_STEALTH_ENABLED=true
46
+ # Stealth profile: balanced (default) | max (accepted compatibility names; same supported patch set)
47
+ # SMOOTH_OPERATOR_STEALTH_PROFILE=balanced
48
+ # Add opt-in GPU launch flags (does not make an identity/coherence guarantee)
49
+ # SMOOTH_OPERATOR_STEALTH_GPU=false
50
+ # Behavioral realism defaults on with short bounded timing; set false for the
51
+ # fastest raw interaction path or override to decouple from stealth.
52
+ # SMOOTH_OPERATOR_BEHAVIOR_ENABLED=true
53
+
37
54
  # HTTP is opt-in; use a strong token before enabling remote access
38
55
  # SMOOTH_OPERATOR_TRANSPORT=http
39
56
  # SMOOTH_OPERATOR_HTTP_HOST=127.0.0.1
@@ -44,5 +61,9 @@ SMOOTH_OPERATOR_ALLOW_EVAL=false
44
61
  # SMOOTH_OPERATOR_HTTP_MAX_BODY_BYTES=2000000
45
62
  # SMOOTH_OPERATOR_ALLOWED_HOSTS=localhost,127.0.0.1,[::1]
46
63
  # SMOOTH_OPERATOR_ALLOWED_ORIGINS=localhost,127.0.0.1,[::1]
64
+ # Hard concurrency caps (constants, not env-configurable): max 32 concurrent
65
+ # requests and max 8 concurrent long-lived SSE/subscription connections.
66
+ # MAX_HTTP_CONCURRENCY=32
67
+ # MAX_HTTP_STREAM_CONCURRENCY=8
47
68
 
48
69
  SMOOTH_OPERATOR_LOG_LEVEL=info
package/README.md CHANGED
@@ -27,7 +27,7 @@ Or straight from GitHub:
27
27
  npm install -g github:Gitshop77/Smooth-Operator && smooth-operator install opencode
28
28
  ~~~
29
29
 
30
- The wizard asks 7 focused questions covering browser mode, executable, headless operation, domain policy, page JavaScript, and the data directory. Run `smooth-operator install` with no harness to pick one interactively (TTY only; piped/CI runs print usage and exit). `--yes` applies the recommended defaults, so give it a target: `smooth-operator install opencode --yes`. Personal Chrome mode launches a dedicated debugging profile on `9222` and derives `browserUrl` automatically.
30
+ The wizard asks exactly 3 focused questions: browser profile ownership, browser display, and the Chromium executable. Run `smooth-operator install` with no harness to pick one interactively (TTY only; piped/CI runs print usage and exit). `--yes` applies the recommended defaults, so give it a target: `smooth-operator install opencode --yes`. Personal Chrome mode launches a dedicated debugging profile on `9222` and derives `browserUrl` automatically. Managed mode owns one private persistent profile; connected mode launches and attaches to a dedicated debugging profile and does not claim ownership of an operator's daily 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
 
@@ -44,12 +44,20 @@ Ask: *“Scrape pricing into a table”*, *“Fill this form with ~/resume.pdf
44
44
 
45
45
  ## How to use
46
46
 
47
- Talk to your harness normally. It can call `browser_navigate` → `browser_snapshot` → `browser_click` and the rest of the MCP surface as needed. Logins and CAPTCHA challenges pause for human handoff in the Chrome window.
47
+ Talk to your harness normally. It can call `browser_navigate` → `browser_snapshot` → `browser_click` and the rest of the MCP surface as needed. For a challenge, `browser_solve_challenge` returns fresh bounded visual/state evidence for the connected AI; the AI uses ordinary browser actions and calls it again to verify the final classification. Human handoff remains available for logins or challenges that require the user.
48
+
49
+ Stealth and short behavioral timing are enabled in the recommended native profile. Page JavaScript is also available by default; set the explicit environment flags to `false` when a stricter profile is needed. See `docs/STEALTH-GUIDE.md` for details and responsible use.
50
+
51
+ For the fastest supported operation, keep behavioral timing off with
52
+ `SMOOTH_OPERATOR_BEHAVIOR_ENABLED=false`; the native browser remains bounded and
53
+ cancellable. All local browser tools and page features are available by default;
54
+ remote HTTP, private-network access, and file roots remain explicitly gated.
55
+ Faster calls do not bypass challenges or grant permission to automate a site.
48
56
 
49
57
  ## Why
50
58
 
51
59
  - Zero setup — managed, headed, persistent browser by default
52
- - Secure by default — domain and file policy, bounded outputs, redaction, and JavaScript disabled unless explicitly enabled
60
+ - Secure by default — domain and file policy, bounded outputs, redaction, and explicit safety boundaries
53
61
  - Reliable — private profiles, stale-reference recovery, reconnect handling, and structured errors
54
62
  - Flexible — stdio by default, Streamable HTTP when you need it, plus connect and disabled modes
55
63