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.
@@ -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. Browser startup
211
- uses one in-flight connection promise, so concurrent callers wait for the same
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.7",
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 && npm run benchmark:mcp:dist",
39
+ "release:smoke": "npm run package:smoke:install",
43
40
  "prepack": "npm run build",
44
41
  "prepare": "npm run build"
45
42
  },