smooth-operator-mcp 3.0.0 → 3.0.2

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.
@@ -46,10 +46,10 @@ smooth-operator --help
46
46
  The interactive installer asks exactly three questions: (1) browser profile
47
47
  ownership, (2) headed or headless display, and (3) which Chromium executable to
48
48
  use. Its recommended defaults are a managed private persistent profile, headed
49
- display, and the first detected Chromium executable. It also enables page eval,
50
- balanced stealth, and short behavioral timing in the native profile; pass the
51
- corresponding environment flags as `false` when those capabilities are not
52
- wanted. Managed mode owns its profile. Connected mode launches and attaches to
49
+ display, and the first detected Chromium executable. It also enables page eval
50
+ and the identity-preserving compatibility profile; behavioral timing is off
51
+ for fast deterministic input and can be enabled explicitly. Managed mode owns
52
+ its profile. Connected mode launches and attaches to
53
53
  a dedicated debugging profile and does not claim ownership of an operator's
54
54
  daily browser.
55
55
 
@@ -147,7 +147,9 @@ smooth-operator
147
147
  ```
148
148
 
149
149
  Remote mode is rejected unless the token is at least 32 characters. Do not
150
- use a token from a shell history, checked-in file, or shared log. A reverse
150
+ use a token from a shell history, checked-in file, or shared log. POST requests
151
+ must declare `Content-Type: application/json`; unsupported media types are
152
+ rejected before their body is read. A reverse
151
153
  proxy can add TLS and network access controls, but it does not replace the
152
154
  application token, Host/Origin allowlists, or request-size limit. Allowed host
153
155
  and origin values are hostnames without a scheme; browser preflight requests
@@ -167,11 +169,11 @@ The managed browser is headed by default for sign-in and human handoff. On CI or
167
169
  displayless host, explicitly set `SMOOTH_OPERATOR_BROWSER_HEADLESS=true` or use
168
170
  Xvfb. If you set both `SMOOTH_OPERATOR_BROWSER_VIEWPORT_WIDTH` and
169
171
  `SMOOTH_OPERATOR_BROWSER_VIEWPORT_HEIGHT`, that explicit viewport is applied to
170
- the browser and any opt-in stealth page metrics. All local browser tools and
171
- features are available by default, including page evaluation and the balanced
172
- stealth/short-behavior profile. Set their environment flags to `false` for a
173
- stricter or faster profile. See `STEALTH-GUIDE.md` for challenge handling and
174
- the remaining boundaries.
172
+ the browser and any explicitly configured viewport. All local browser tools and
173
+ features are available by default, including page evaluation and the
174
+ identity-preserving compatibility profile. Behavioral timing is off by default
175
+ for fast deterministic input. See `STEALTH-GUIDE.md` for challenge handling
176
+ and the remaining boundaries.
175
177
 
176
178
  ### Managed mode (default)
177
179
 
@@ -312,10 +314,10 @@ variables include:
312
314
  | `SMOOTH_OPERATOR_ALLOWED_FILE_ROOTS` | data `files`, `downloads` | Explicit roots replace defaults |
313
315
  | `SMOOTH_OPERATOR_ALLOW_PRIVATE_NETWORK` | `false` | Allows non-loopback private targets when true |
314
316
  | `SMOOTH_OPERATOR_ALLOW_EVAL` | `true` | Set `false` to disable page JavaScript |
315
- | `SMOOTH_OPERATOR_STEALTH_ENABLED` | `true` | Set `false` to preserve raw automation signals |
317
+ | `SMOOTH_OPERATOR_STEALTH_ENABLED` | `true` | Native-identity viewport compatibility script |
316
318
  | `SMOOTH_OPERATOR_STEALTH_PROFILE` | `balanced` | `balanced` or `max` compatibility label |
317
319
  | `SMOOTH_OPERATOR_STEALTH_GPU` | `false` | Adds opt-in GPU launch flags |
318
- | `SMOOTH_OPERATOR_BEHAVIOR_ENABLED` | `true` | Set `false` for fastest raw interactions |
320
+ | `SMOOTH_OPERATOR_BEHAVIOR_ENABLED` | `false` | Opt-in timing wrappers |
319
321
  | `SMOOTH_OPERATOR_HTTP_HOST` | `127.0.0.1` | HTTP bind host |
320
322
  | `SMOOTH_OPERATOR_HTTP_PORT` | `3344` | HTTP bind port |
321
323
  | `SMOOTH_OPERATOR_HTTP_PATH` | `/mcp` | HTTP endpoint path |
@@ -328,13 +330,11 @@ variables include:
328
330
 
329
331
  ### Fast operation mode
330
332
 
331
- The default configuration is a native managed browser with short bounded
332
- behavioral timing, the conservative stealth baseline, and page evaluation
333
- available. For the fastest raw interactions, set
334
- `SMOOTH_OPERATOR_BEHAVIOR_ENABLED=false` and, when appropriate,
335
- `SMOOTH_OPERATOR_STEALTH_ENABLED=false`; set `SMOOTH_OPERATOR_ALLOW_EVAL=false`
336
- when page JavaScript is not needed. Tool calls remain bounded and cancellable;
337
- no hidden planning loop is introduced.
333
+ The default configuration is a native managed browser with page evaluation
334
+ available, native browser identity, and deterministic input. Enable
335
+ `SMOOTH_OPERATOR_BEHAVIOR_ENABLED=true` only when a workflow explicitly needs
336
+ timing wrappers. Tool calls remain bounded and cancellable; no hidden planning
337
+ loop is introduced.
338
338
 
339
339
  Raw MCP/tool-call speed is not the main bot-detection vector. Sites can score
340
340
  network and browser identity, IP reputation, session history, and interaction
@@ -411,13 +411,16 @@ disabled explicitly with `SMOOTH_OPERATOR_ALLOW_EVAL=false`.
411
411
  `browser_evaluate` is page JavaScript and is available by default (set
412
412
  `SMOOTH_OPERATOR_ALLOW_EVAL=false` when it is not wanted). `browser_exec`
413
413
  accepts only a JSON array of validated browser actions; it is not a shell,
414
- Python, or arbitrary code runner. Destructive batch actions require explicit
414
+ Python, or arbitrary code runner. Its explicit `evaluate` action still follows
415
+ the page-evaluation policy. Destructive batch actions require explicit
415
416
  confirmation. `browser_wait_for_human` pauses for an operator to complete a
416
417
  visible sign-in or challenge. `browser_solve_challenge` is an internal
417
418
  connected-AI observe/act/verify loop: it returns bounded evidence and is
418
419
  successful only when a fresh final classification explicitly reports the
419
- challenge absent. `browser_close_session` closes the one native browser session
420
- by its explicit session identifier.
420
+ challenge absent; present and exhausted cycles report the remaining attempt
421
+ budget and `automation_exhausted` is the final non-success state.
422
+ `browser_close_session`
423
+ closes the one native browser session by its explicit session identifier.
421
424
 
422
425
  Actions that leave a usable page—navigation, click, input, select, scroll, key,
423
426
  back, forward, and reload—accept optional `includeSnapshot: true`. The action
@@ -472,8 +475,9 @@ The server publishes read-only resources:
472
475
  Resource output is bounded and follows the same redaction and policy rules as
473
476
  tool output. The capabilities resource also reports the native defaults and
474
477
  effective feature flags for local browser tools, page evaluation, stealth, and
475
- behavioral timing, plus whether challenge success requires an explicit absent
476
- classification.
478
+ behavioral timing. Its challenge metadata includes the default and maximum
479
+ connected-AI attempt budgets and states that success requires an explicit
480
+ absent classification.
477
481
 
478
482
  ### Prompts
479
483
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smooth-operator-mcp",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "type": "module",
5
5
  "packageManager": "npm@12.0.2",
6
6
  "description": "A lightweight, production-grade MCP server for secure browser automation.",