smooth-operator-mcp 3.0.4 → 3.0.6
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 +3 -0
- package/README.md +16 -0
- package/dist/smooth-operator.mjs +1399 -110
- package/dist/smooth-operator.mjs.map +3 -3
- package/docs/harnesses.md +7 -0
- package/docs/mcp-server.md +56 -5
- package/package.json +8 -7
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
|
@@ -39,6 +39,15 @@ Verify: `smooth-operator --help` and `server_health` / `browser_doctor` appear a
|
|
|
39
39
|
- Inspect pages with snapshots, accessibility trees, HTML, styles, text search, and bounded extraction
|
|
40
40
|
- Work across tabs, frames, popups, shadow DOM, dialogs, cookies, storage, downloads, screenshots, and PDFs
|
|
41
41
|
- Search the web through bounded DuckDuckGo retrieval
|
|
42
|
+
- Search a bounded metadata-only network journal by request ID, URL, method, status, and resource type
|
|
43
|
+
- Block page-scoped image, stylesheet, font, media, and script subresources; document and navigation requests are never selectable
|
|
44
|
+
- Inspect a selected element's safe attributes, styles, animations, and shallow children without returning scripts, event source, form values, or arbitrary data attributes
|
|
45
|
+
- Upload one file or up to 20 files from allowed roots; each file is capped at 50 MiB and the aggregate at 100 MiB
|
|
46
|
+
- Read, set, and delete URL-scoped cookies with validated SameSite settings; cookie values are omitted from reads
|
|
47
|
+
|
|
48
|
+
The MCP registry exposes 64 public tools. The surface includes bounded network
|
|
49
|
+
search, safe element inspection, page-scoped resource blocking, and file and
|
|
50
|
+
cookie controls alongside the navigation, extraction, and lifecycle tools.
|
|
42
51
|
|
|
43
52
|
Ask: *“Scrape pricing into a table”*, *“Fill this form with ~/resume.pdf”*, or *“Download the monthly report as a PDF.”*
|
|
44
53
|
|
|
@@ -57,6 +66,13 @@ cancellable. All local browser tools and page features are available by default;
|
|
|
57
66
|
remote HTTP, private-network access, and file roots remain explicitly gated.
|
|
58
67
|
Faster calls do not bypass challenges or grant permission to automate a site.
|
|
59
68
|
|
|
69
|
+
Managed mode preflights a regular executable when it needs to launch, and
|
|
70
|
+
launch mode does so before invoking Chromium. Both wait for browser launch
|
|
71
|
+
readiness and a target-guard acknowledgement before returning a usable
|
|
72
|
+
connection. The loopback DevTools `/json/version` probe is bounded to 64 KiB
|
|
73
|
+
before JSON parsing. There is no arbitrary CDP or host-code tool; page
|
|
74
|
+
evaluation remains an explicit page capability.
|
|
75
|
+
|
|
60
76
|
## Why
|
|
61
77
|
|
|
62
78
|
- Zero setup — managed, headed, persistent browser by default
|