smooth-operator-mcp 2.4.7 → 2.4.9
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/README.md +34 -18
- package/dist/smooth-operator.mjs +1656 -334
- package/dist/smooth-operator.mjs.map +2 -2
- package/docs/mcp-server.md +4 -40
- package/package.json +2 -5
package/docs/mcp-server.md
CHANGED
|
@@ -143,44 +143,6 @@ application token, Host/Origin allowlists, or request-size limit. Allowed host
|
|
|
143
143
|
and origin values are hostnames without a scheme; browser preflight requests
|
|
144
144
|
are answered only after the same Host and Origin checks.
|
|
145
145
|
|
|
146
|
-
### ChatGPT and OpenAI connections
|
|
147
|
-
|
|
148
|
-
For private developer-mode use, the safest OpenAI-compatible route is Secure
|
|
149
|
-
MCP Tunnel. It keeps this server on the local machine and forwards requests
|
|
150
|
-
over an outbound connection; it can launch this server over stdio, so no public
|
|
151
|
-
HTTP listener or public browser profile is required.
|
|
152
|
-
|
|
153
|
-
Create a tunnel in OpenAI Platform, install the separately distributed
|
|
154
|
-
`tunnel-client`, and run a profile like this (replace the placeholders with
|
|
155
|
-
your tunnel identity and local executable):
|
|
156
|
-
|
|
157
|
-
```sh
|
|
158
|
-
export CONTROL_PLANE_API_KEY="sk-..."
|
|
159
|
-
|
|
160
|
-
tunnel-client init \
|
|
161
|
-
--sample sample_mcp_stdio_local \
|
|
162
|
-
--profile smooth-operator \
|
|
163
|
-
--tunnel-id tunnel_... \
|
|
164
|
-
--mcp-command "smooth-operator --transport stdio"
|
|
165
|
-
|
|
166
|
-
tunnel-client doctor --profile smooth-operator --explain
|
|
167
|
-
tunnel-client run --profile smooth-operator
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
Then enable Developer mode in ChatGPT, create a developer-mode app, choose
|
|
171
|
-
`Tunnel`, and select the associated tunnel. Tunnel and ChatGPT workspace
|
|
172
|
-
permissions are separate; the tunnel must be associated with the target
|
|
173
|
-
workspace. This path is for private testing and use, not public plugin
|
|
174
|
-
submission.
|
|
175
|
-
|
|
176
|
-
For public distribution, deploy a stable HTTPS `/mcp` endpoint and put an
|
|
177
|
-
OAuth 2.1-compatible identity provider in front of authenticated tools. The
|
|
178
|
-
local bearer token is intended for this server's controlled HTTP mode; it is
|
|
179
|
-
not a substitute for a public OAuth authorization server. See the official
|
|
180
|
-
[OpenAI MCP quickstart](https://developers.openai.com/plugins/build/app-quickstart),
|
|
181
|
-
[authentication guide](https://developers.openai.com/plugins/build/auth), and
|
|
182
|
-
[Secure MCP Tunnel guide](https://developers.openai.com/api/docs/guides/secure-mcp-tunnels).
|
|
183
|
-
|
|
184
146
|
## Browser lifecycle
|
|
185
147
|
|
|
186
148
|
The server manages one headed, persistent private agent-Chrome session by
|
|
@@ -207,8 +169,10 @@ SmoothOperator process using the same private profile is rejected by the profile
|
|
|
207
169
|
`SMOOTH_OPERATOR_BROWSER_AUTO_LAUNCH` is retained for backward compatibility but is
|
|
208
170
|
ignored in managed mode.
|
|
209
171
|
|
|
210
|
-
Browser actions share a bounded operation queue and deadline.
|
|
211
|
-
|
|
172
|
+
Browser actions share a bounded operation queue and deadline. Independent
|
|
173
|
+
read-only observations may run concurrently; navigation, mutation, snapshot,
|
|
174
|
+
and session-control operations remain exclusive. Browser startup uses one
|
|
175
|
+
in-flight connection promise, so concurrent callers wait for the same
|
|
212
176
|
reattach/launch attempt instead of starting duplicate processes. Newly
|
|
213
177
|
auto-attached top-level targets are held at the CDP boundary until the
|
|
214
178
|
navigation policy guard is installed; targets whose attachment ownership
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "smooth-operator-mcp",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"packageManager": "npm@12.0.2",
|
|
6
6
|
"description": "A lightweight, production-grade MCP server for secure browser automation.",
|
|
@@ -34,12 +34,9 @@
|
|
|
34
34
|
"dead-code": "knip --include files,exports,dependencies,unlisted --no-progress",
|
|
35
35
|
"mcp:stdio": "npm run start -- --transport stdio",
|
|
36
36
|
"mcp:http": "npm run start -- --transport http",
|
|
37
|
-
"benchmark:mcp": "node scripts/benchmark-mcp.mjs",
|
|
38
|
-
"benchmark:mcp:live": "node scripts/benchmark-mcp.mjs --live",
|
|
39
|
-
"benchmark:mcp:dist": "node scripts/benchmark-mcp.mjs --dist",
|
|
40
37
|
"package:smoke": "npm run build && node scripts/verify-package.mjs",
|
|
41
38
|
"package:smoke:install": "npm run build && node scripts/verify-package.mjs --install",
|
|
42
|
-
"release:smoke": "npm run package:smoke:install
|
|
39
|
+
"release:smoke": "npm run package:smoke:install",
|
|
43
40
|
"prepack": "npm run build",
|
|
44
41
|
"prepare": "npm run build"
|
|
45
42
|
},
|