smooth-operator-mcp 2.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 ADDED
@@ -0,0 +1,45 @@
1
+ # Native MCP transport
2
+ SMOOTH_OPERATOR_TRANSPORT=stdio
3
+ SMOOTH_OPERATOR_DATA_DIR=~/.smooth-operator
4
+
5
+ # Managed agent Chrome is the zero-setup default. It discovers Google Chrome,
6
+ # then creates one private persistent profile under SMOOTH_OPERATOR_DATA_DIR.
7
+ SMOOTH_OPERATOR_BROWSER_MODE=managed
8
+ # For an advanced DevTools connection, use mode=connect and set this endpoint.
9
+ # SMOOTH_OPERATOR_BROWSER_MODE=connect
10
+ # SMOOTH_OPERATOR_BROWSER_URL=http://127.0.0.1:9222
11
+ # For explicit launch mode, set a Chromium/Chrome executable.
12
+ # SMOOTH_OPERATOR_BROWSER_MODE=launch
13
+ # SMOOTH_OPERATOR_BROWSER_EXECUTABLE=/path/to/chrome
14
+ # SMOOTH_OPERATOR_BROWSER_HEADLESS=true
15
+ # SMOOTH_OPERATOR_BROWSER_USER_DATA_DIR=~/.smooth-operator/browser
16
+ # SMOOTH_OPERATOR_BROWSER_AUTO_LAUNCH=false
17
+ # Test-only opt-in live suite override (the CI script discovers Chrome itself).
18
+ # SMOOTH_OPERATOR_TEST_BROWSER_EXECUTABLE=/path/to/chrome
19
+ # Browser output and operation bounds
20
+ SMOOTH_OPERATOR_BROWSER_TIMEOUT_MS=15000
21
+ SMOOTH_OPERATOR_BROWSER_CONNECT_TIMEOUT_MS=30000
22
+ SMOOTH_OPERATOR_BROWSER_CDP_TIMEOUT_MS=30000
23
+ SMOOTH_OPERATOR_MAX_SCREENSHOT_BYTES=8000000
24
+ SMOOTH_OPERATOR_MAX_HTML_CHARS=200000
25
+
26
+ # Network and page-operation safety invariants
27
+ SMOOTH_OPERATOR_ALLOWED_DOMAINS=
28
+ SMOOTH_OPERATOR_BLOCKED_DOMAINS=
29
+ SMOOTH_OPERATOR_ALLOW_PRIVATE_NETWORK=false
30
+ SMOOTH_OPERATOR_ALLOW_EVAL=false
31
+ # File uploads and generated PDFs stay inside these private roots by default.
32
+ # SMOOTH_OPERATOR_ALLOWED_FILE_ROOTS=~/.smooth-operator/files,~/.smooth-operator/downloads
33
+
34
+ # HTTP is opt-in; use a strong token before enabling remote access
35
+ # SMOOTH_OPERATOR_TRANSPORT=http
36
+ # SMOOTH_OPERATOR_HTTP_HOST=127.0.0.1
37
+ # SMOOTH_OPERATOR_HTTP_PORT=3344
38
+ # SMOOTH_OPERATOR_HTTP_PATH=/mcp
39
+ # SMOOTH_OPERATOR_HTTP_TOKEN=replace-with-at-least-32-random-characters
40
+ # SMOOTH_OPERATOR_ALLOW_REMOTE_HTTP=false
41
+ # SMOOTH_OPERATOR_HTTP_MAX_BODY_BYTES=2000000
42
+ # SMOOTH_OPERATOR_ALLOWED_HOSTS=localhost,127.0.0.1,[::1]
43
+ # SMOOTH_OPERATOR_ALLOWED_ORIGINS=localhost,127.0.0.1,[::1]
44
+
45
+ SMOOTH_OPERATOR_LOG_LEVEL=info
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 SmoothOperator Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,63 @@
1
+ # SmoothOperator
2
+
3
+ Give your AI a real Chrome. SmoothOperator is a tiny MCP server — your harness reasons, it clicks, types, and scrapes. No model keys. No hidden loop.
4
+
5
+ ## Install — one command
6
+
7
+ Pick your harness. Run one line. Restart harness.
8
+
9
+ **From a clone (works today, no publish step):**
10
+ ~~~sh
11
+ npm install -g github:Gitshop77/Smooth-Operator && smooth-operator install opencode
12
+ ~~~
13
+
14
+ **From npm** (`smooth-operator-mcp`, once published):
15
+ ~~~sh
16
+ npm install -g smooth-operator-mcp && smooth-operator install opencode
17
+ npm install -g smooth-operator-mcp && smooth-operator install claude-code
18
+ npm install -g smooth-operator-mcp && smooth-operator install copilot
19
+ npm install -g smooth-operator-mcp && smooth-operator install codex
20
+ npm install -g smooth-operator-mcp && smooth-operator install gemini
21
+ npm install -g smooth-operator-mcp && smooth-operator install vscode
22
+ npm install -g smooth-operator-mcp && smooth-operator install cursor
23
+ npm install -g smooth-operator-mcp && smooth-operator install windsurf
24
+ npm install -g smooth-operator-mcp && smooth-operator install claude-desktop
25
+ ~~~
26
+
27
+ > Note: the plain-npm name `smooth-operator` is an unrelated library on the registry.
28
+ > Do NOT use `npm install -g smooth-operator`.
29
+
30
+ Or from a manual clone:
31
+ ~~~sh
32
+ git clone https://github.com/Gitshop77/Smooth-Operator.git
33
+ cd Smooth-Operator
34
+ npm install -g . && smooth-operator install opencode
35
+ ~~~
36
+
37
+ Wizard asks 6 questions (managed vs personal Chrome, headless, domains, JS). Run `smooth-operator install` with no harness to pick one interactively (TTY only; piped/CI runs print usage and exit). `--yes` skips every prompt, so give it a target: `smooth-operator install opencode --yes`. Personal Chrome → wizard launches Chrome on `9222` for you.
38
+
39
+ Requires Node 22.23.2+ and Chrome. Profile at `~/.smooth-operator/browser` — sign in once.
40
+
41
+ Verify: `smooth-operator --help` and `server_health` / `browser_doctor` appear after restart.
42
+
43
+ ## What it does
44
+
45
+ - Click, type, select, scroll, hover
46
+ - Extract, find text, snapshot, screenshot, PDF, upload
47
+ - Handle tabs, dialogs, cookies, storage
48
+ - Search web (DuckDuckGo)
49
+
50
+ Ask: *“Scrape pricing into a table”* / *“Fill this form with ~/resume.pdf”* / *“Download monthly report as PDF”*
51
+
52
+ ## How to use
53
+
54
+ Talk to your harness normally. It will call `browser_navigate` → `browser_snapshot` → `browser_click` etc. Logins/CAPTCHAs pause for you in the Chrome window.
55
+
56
+ ## Why
57
+
58
+ - Zero config — headed, private, persistent Chrome
59
+ - Private — `~/.smooth-operator`, 0600 permissions
60
+ - Safe — domain policy, bounded outputs, JS off by default (`SMOOTH_OPERATOR_ALLOW_EVAL`)
61
+ - Works — stdio default, HTTP optional
62
+
63
+ Details: [AGENTS.md](AGENTS.md) · [MCP guide](docs/mcp-server.md) · [harnesses](docs/harnesses.md)