smooth-operator-mcp 2.4.9 → 2.4.11

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/docs/harnesses.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Harness installation
2
2
 
3
- ## Interactive wizard (one-command)
3
+ ## Interactive wizard (directly to your harness)
4
4
 
5
- `smooth-operator install <harness>` is interactive by default — it asks 7 curated questions (browser mode, browser executable, headless, allowed domains, blocked domains, page JavaScript, and data directory) with recommended defaults in brackets. Omitting `<harness>` is allowed too: on a TTY the installer prompts for the target first (default `opencode`), while piped or CI environments print usage and exit instead. Use `smooth-operator install opencode --yes` to skip prompts and use recommended defaults. The wizard saves its choices to `~/.smooth-operator/config.json` (0600, symlink-safe) — mode, executable path, headless, domains, and allowEval are written exactly as answered on every run and then registers the harness. Personal-Chrome mode derives `browserUrl` after launching the helper on port 9222; it is not a separate prompt.
5
+ `smooth-operator install <harness>` is interactive by default — it asks 7 curated questions (browser mode, browser executable, headless, allowed domains, blocked domains, page JavaScript, and data directory) with recommended defaults in brackets. Omitting `<harness>` is allowed too: on a TTY the installer prompts for the target first (default `opencode`), while piped or CI environments print usage and exit instead. Use `smooth-operator install opencode --yes` to skip prompts and use recommended defaults. The wizard normalizes and validates its choices before saving them to `~/.smooth-operator/config.json` (0600, bounded, owner-only, and symlink-safe). Mode, executable path, headless, domains, and allowEval are authoritative on every run while unrelated settings are preserved, and the harness is then registered. Personal-Chrome mode derives `browserUrl` after launching the helper on port 9222; it is not a separate prompt.
6
6
 
7
7
  ### Personal Chrome (connect) helper
8
8
 
@@ -145,15 +145,15 @@ are answered only after the same Host and Origin checks.
145
145
 
146
146
  ## Browser lifecycle
147
147
 
148
- The server manages one headed, persistent private agent-Chrome session by
149
- default. On the first browser tool call it discovers an installed Google Chrome,
148
+ The server manages one headed, persistent private Chromium-based browser session
149
+ by default. On the first browser tool call it discovers an installed browser,
150
150
  launches it with `${SMOOTH_OPERATOR_DATA_DIR}/browser` as a non-default profile,
151
151
  and records its loopback DevTools endpoint for later reattachment. Sign in once
152
152
  in the visible window; its sessions persist in that private profile. The
153
153
  `browser_doctor` tool reports executable resolution and endpoint state without
154
154
  evaluating page content.
155
155
 
156
- Managed Chrome is headed by default for sign-in and human handoff. On CI or a
156
+ The managed browser is headed by default for sign-in and human handoff. On CI or a
157
157
  displayless host, explicitly set `SMOOTH_OPERATOR_BROWSER_HEADLESS=true` or use
158
158
  Xvfb. The server never adds fingerprint spoofing, CAPTCHA solving, proxy
159
159
  rotation, or other evasion behavior.
@@ -283,7 +283,7 @@ variables include:
283
283
  | `SMOOTH_OPERATOR_BROWSER_MODE` | `managed` | `managed`, `disabled`, `connect`, or `launch` |
284
284
  | `SMOOTH_OPERATOR_BROWSER_URL` | `http://127.0.0.1:9222` | DevTools HTTP endpoint |
285
285
  | `SMOOTH_OPERATOR_BROWSER_EXECUTABLE` | unset | Managed-mode override; required for explicit launch mode |
286
- | `SMOOTH_OPERATOR_BROWSER_USER_DATA_DIR` | `${SMOOTH_OPERATOR_DATA_DIR}/browser` | Dedicated persistent agent-Chrome profile |
286
+ | `SMOOTH_OPERATOR_BROWSER_USER_DATA_DIR` | `${SMOOTH_OPERATOR_DATA_DIR}/browser` | Dedicated persistent browser profile |
287
287
  | `SMOOTH_OPERATOR_BROWSER_HEADLESS` | `false` | Set `true` for CI/displayless managed or launch use |
288
288
  | `SMOOTH_OPERATOR_ALLOWED_DOMAINS` | unset | Comma-separated allowlist |
289
289
  | `SMOOTH_OPERATOR_BLOCKED_DOMAINS` | unset | Comma-separated denylist |
@@ -398,7 +398,9 @@ schema) is one aggregate budget across the returned title and snippet text,
398
398
  not a per-result multiplier. URL fields and fixed untrusted-data wrapper
399
399
  markers are outside that text budget. The response body is bounded before
400
400
  parsing, redirects are rejected, cancellation and timeout are propagated, and
401
- credentials/query secret placeholders are removed from result URLs.
401
+ credentials/query secret placeholders are removed from result URLs. Transient
402
+ provider failures use at most three bounded attempts; anti-bot responses are
403
+ reported without attempting a bypass.
402
404
 
403
405
  ### Resources
404
406
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smooth-operator-mcp",
3
- "version": "2.4.9",
3
+ "version": "2.4.11",
4
4
  "type": "module",
5
5
  "packageManager": "npm@12.0.2",
6
6
  "description": "A lightweight, production-grade MCP server for secure browser automation.",