@vibebrowser/mcp 0.2.4 → 0.2.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/README.md +122 -12
- package/dist/browser-cli.d.ts +4 -0
- package/dist/browser-cli.d.ts.map +1 -0
- package/dist/browser-cli.js +1597 -0
- package/dist/browser-cli.js.map +1 -0
- package/dist/browser-main.d.ts +3 -0
- package/dist/browser-main.d.ts.map +1 -0
- package/dist/browser-main.js +10 -0
- package/dist/browser-main.js.map +1 -0
- package/dist/cli.d.ts +0 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +106 -13
- package/dist/cli.js.map +1 -1
- package/dist/connection.d.ts +15 -7
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +118 -24
- package/dist/connection.js.map +1 -1
- package/dist/ollama.d.ts +1 -1
- package/dist/ollama.js +4 -4
- package/dist/ollama.js.map +1 -1
- package/dist/relay.d.ts +19 -10
- package/dist/relay.d.ts.map +1 -1
- package/dist/relay.js +272 -98
- package/dist/relay.js.map +1 -1
- package/dist/server.d.ts +56 -11
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +488 -68
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +30 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +15 -0
- package/dist/version.js.map +1 -0
- package/docs/chrome-devtools-relay.md +351 -0
- package/docs/eval.md +294 -0
- package/docs/openclaw-local-browser.md +264 -0
- package/openclaw/vibebrowser/SKILL.md +153 -0
- package/package.json +11 -2
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ Vibe MCP is the **only solution that allows multiple AI agents to control the sa
|
|
|
24
24
|
Claude Desktop Cursor VS Code OpenCode
|
|
25
25
|
| | | |
|
|
26
26
|
v v v v
|
|
27
|
-
[
|
|
27
|
+
[vibebrowser-mcp] [vibebrowser-mcp] [vibebrowser-mcp] [vibebrowser-mcp]
|
|
28
28
|
| | | |
|
|
29
29
|
+------------------+----------------+---------------+
|
|
30
30
|
|
|
|
@@ -243,7 +243,7 @@ Claude / Cursor / VS Code (stdio)
|
|
|
243
243
|
```
|
|
244
244
|
|
|
245
245
|
1. AI applications connect via MCP over stdio
|
|
246
|
-
2. `vibebrowser-mcp`
|
|
246
|
+
2. `vibebrowser-mcp` connects to the local relay on port `19888`
|
|
247
247
|
3. The relay forwards commands to the extension on port `19889`
|
|
248
248
|
4. Results flow back to the agent
|
|
249
249
|
|
|
@@ -256,12 +256,97 @@ When multiple agents connect, Vibe MCP automatically spawns a relay daemon:
|
|
|
256
256
|
- Relay multiplexes all agent requests to the single extension connection
|
|
257
257
|
- Each agent receives only its own responses
|
|
258
258
|
|
|
259
|
+
### Cloud OpenClaw -> Local Browser
|
|
260
|
+
|
|
261
|
+
If your agent runs in the cloud but you want it to control the user's real local browser, run `vibebrowser-mcp` in HTTP mode and connect it to the Vibe extension in remote relay mode.
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp start --transport http --remote <extension-uuid>
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
This exposes a local MCP endpoint at `http://127.0.0.1:8788/mcp` by default.
|
|
268
|
+
|
|
269
|
+
You can print the exact OpenClaw-friendly setup with:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp openclaw --remote <extension-uuid>
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
For the full walkthrough, see `docs/openclaw-local-browser.md`.
|
|
276
|
+
|
|
277
|
+
### OpenClaw-Compatible Browser CLI
|
|
278
|
+
|
|
279
|
+
`vibebrowser-cli` mirrors the OpenClaw browser CLI shape for the real local-browser path:
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli sessions
|
|
283
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> status
|
|
284
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> tabs
|
|
285
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> open https://example.com
|
|
286
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> snapshot
|
|
287
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> click 12
|
|
288
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> type 23 "hello" --submit
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
The package now exposes two executables:
|
|
292
|
+
|
|
293
|
+
- `vibebrowser-mcp` for MCP server, HTTP bridge, and helper commands
|
|
294
|
+
- `vibebrowser-cli` for OpenClaw-inspired browser control against the real Vibe-connected session
|
|
295
|
+
|
|
296
|
+
`vibebrowser-cli` accepts the OpenClaw-style `--browser-profile` flag for compatibility and supports `--json` for machine-readable output. Unlike OpenClaw's managed `openclaw` browser profile, this CLI always targets the real Vibe-connected browser session.
|
|
297
|
+
|
|
298
|
+
Local-session selection:
|
|
299
|
+
|
|
300
|
+
- `vibebrowser-cli sessions` lists connected local browser sessions.
|
|
301
|
+
- `vibebrowser-cli --session <id> ...` targets a specific local session.
|
|
302
|
+
- If `--session` is omitted in local mode, the CLI uses the first connected session.
|
|
303
|
+
- In remote mode, `--remote <extension-uuid>` remains the explicit browser selector.
|
|
304
|
+
|
|
305
|
+
Snapshot behavior is tool-only (no legacy snapshot RPC shortcut):
|
|
306
|
+
|
|
307
|
+
- `snapshot` (default) resolves via `take_md_snapshot`
|
|
308
|
+
- `snapshot --format aria` resolves via `take_a11y_snapshot`
|
|
309
|
+
|
|
310
|
+
This keeps CLI behavior aligned with extension-supported tools and ensures page targeting works consistently with `--page-id`/`--pageId`.
|
|
311
|
+
|
|
312
|
+
For navigation-style operations, responses now include page content when page state changes:
|
|
313
|
+
|
|
314
|
+
- CLI `open` / `navigate` include `pageContent` in JSON output.
|
|
315
|
+
- MCP tool calls for navigation-style tools return text content that includes current page state (with snapshot fallback when needed).
|
|
316
|
+
|
|
317
|
+
### OpenClaw Integration
|
|
318
|
+
|
|
319
|
+
There are two ways to use Vibe with OpenClaw:
|
|
320
|
+
|
|
321
|
+
**Option A: Cloud OpenClaw controlling local browser**
|
|
322
|
+
|
|
323
|
+
If OpenClaw runs in the cloud but you want it to control your local browser:
|
|
324
|
+
|
|
325
|
+
1. Install the Vibe extension and enable **Remote** mode (see [docs/openclaw-local-browser.md](docs/openclaw-local-browser.md))
|
|
326
|
+
2. Start the local HTTP bridge: `vibebrowser-mcp openclaw --remote <extension-uuid>`
|
|
327
|
+
3. Register the MCP URL in OpenClaw
|
|
328
|
+
|
|
329
|
+
**Option B: OpenClaw skill for local agents**
|
|
330
|
+
|
|
331
|
+
For OpenClaw agents that need your real browser context (logged-in sessions, existing tabs):
|
|
332
|
+
|
|
333
|
+
1. Copy the Vibe skill from this package to your OpenClaw skills folder
|
|
334
|
+
2. Set `VIBE_EXTENSION_UUID` environment variable
|
|
335
|
+
3. Use `vibebrowser-cli` commands in your agent prompts
|
|
336
|
+
|
|
337
|
+
The skill is located at [`openclaw/vibebrowser/SKILL.md`](openclaw/vibebrowser/SKILL.md) and provides:
|
|
338
|
+
- Full OpenClaw-compatible CLI commands (`status`, `tabs`, `snapshot`, `click`, `type`, etc.)
|
|
339
|
+
- `--json` output for machine parsing
|
|
340
|
+
- Environment-based configuration
|
|
341
|
+
|
|
342
|
+
See [docs/openclaw-local-browser.md](docs/openclaw-local-browser.md) for the complete walkthrough.
|
|
343
|
+
|
|
259
344
|
## Local LLM: `serve` Command
|
|
260
345
|
|
|
261
346
|
Run a local LLM with one command — no cloud API keys required. Automatically installs [Ollama](https://ollama.com), downloads the model, and starts serving an OpenAI-compatible API.
|
|
262
347
|
|
|
263
348
|
```bash
|
|
264
|
-
npx @vibebrowser/mcp serve qwen3.5
|
|
349
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve qwen3.5
|
|
265
350
|
```
|
|
266
351
|
|
|
267
352
|
That's it. Works on **macOS**, **Linux**, and **Windows**.
|
|
@@ -276,16 +361,16 @@ That's it. Works on **macOS**, **Linux**, and **Windows**.
|
|
|
276
361
|
### Recommended models
|
|
277
362
|
|
|
278
363
|
```bash
|
|
279
|
-
npx @vibebrowser/mcp serve qwen3.5 # Best overall for agentic tasks
|
|
280
|
-
npx @vibebrowser/mcp serve llama4 # Strong general reasoning
|
|
281
|
-
npx @vibebrowser/mcp serve deepseek-r1 # Reasoning chains
|
|
282
|
-
npx @vibebrowser/mcp serve mistral # Lightweight & fast (7B)
|
|
364
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve qwen3.5 # Best overall for agentic tasks
|
|
365
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve llama4 # Strong general reasoning
|
|
366
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve deepseek-r1 # Reasoning chains
|
|
367
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve mistral # Lightweight & fast (7B)
|
|
283
368
|
```
|
|
284
369
|
|
|
285
370
|
### Options
|
|
286
371
|
|
|
287
372
|
```bash
|
|
288
|
-
npx @vibebrowser/mcp serve <model> [options]
|
|
373
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve <model> [options]
|
|
289
374
|
|
|
290
375
|
Options:
|
|
291
376
|
-p, --port <number> Ollama API port (default: 11434)
|
|
@@ -304,15 +389,33 @@ The extension connects to `http://localhost:11434/v1` automatically.
|
|
|
304
389
|
## CLI Options
|
|
305
390
|
|
|
306
391
|
```bash
|
|
307
|
-
npx @vibebrowser/mcp --help
|
|
392
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp --help
|
|
393
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --help
|
|
308
394
|
|
|
309
395
|
# MCP server (default)
|
|
310
|
-
npx @vibebrowser/mcp [start] [options]
|
|
396
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp [start] [options]
|
|
311
397
|
-p, --port <number> WebSocket port for local relay (agent) connection (default: 19888)
|
|
312
398
|
-d, --debug Enable debug logging
|
|
399
|
+
--transport <mode> MCP transport to expose: stdio or http (default: stdio)
|
|
400
|
+
--host <host> Host to bind the HTTP server to (default: 127.0.0.1)
|
|
401
|
+
--http-port <number> Port for streamable HTTP MCP transport (default: 8788)
|
|
402
|
+
--http-path <path> Path for streamable HTTP MCP transport (default: /mcp)
|
|
403
|
+
--allow-host <host> Allowed host header for HTTP transport (repeatable)
|
|
404
|
+
-r, --remote <uuid> Connect to a remote extension via public relay
|
|
405
|
+
--relay-url <url> Custom relay server URL
|
|
406
|
+
|
|
407
|
+
# OpenClaw helper
|
|
408
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp openclaw --remote <extension-uuid>
|
|
409
|
+
|
|
410
|
+
# OpenClaw-compatible browser CLI
|
|
411
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> status
|
|
412
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> tabs
|
|
413
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> snapshot --json
|
|
414
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> click 12
|
|
415
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> type 23 "hello" --submit
|
|
313
416
|
|
|
314
417
|
# Local LLM server
|
|
315
|
-
npx @vibebrowser/mcp serve <model> [options]
|
|
418
|
+
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve <model> [options]
|
|
316
419
|
-p, --port <number> Ollama API port (default: 11434)
|
|
317
420
|
-y, --yes Skip confirmation prompts
|
|
318
421
|
-d, --debug Enable debug logging
|
|
@@ -326,6 +429,13 @@ npx @vibebrowser/mcp serve <model> [options]
|
|
|
326
429
|
2. Click the extension icon and enable "MCP External Control" in Settings
|
|
327
430
|
3. Check that no firewall is blocking localhost connections
|
|
328
431
|
|
|
432
|
+
### "OpenClaw cannot reach my local browser bridge"
|
|
433
|
+
|
|
434
|
+
1. Start `vibebrowser-mcp` in HTTP mode instead of stdio
|
|
435
|
+
2. Make sure the bridge process is still running on the user's machine
|
|
436
|
+
3. Confirm the extension is in `Remote` mode and connected
|
|
437
|
+
4. Verify the MCP URL in OpenClaw matches the bridge URL, usually `http://127.0.0.1:8788/mcp`
|
|
438
|
+
|
|
329
439
|
### Debug mode
|
|
330
440
|
|
|
331
441
|
Enable debug logging to diagnose issues:
|
|
@@ -335,7 +445,7 @@ Enable debug logging to diagnose issues:
|
|
|
335
445
|
"mcpServers": {
|
|
336
446
|
"vibe": {
|
|
337
447
|
"command": "npx",
|
|
338
|
-
"args": ["-y", "@vibebrowser/mcp", "--debug"]
|
|
448
|
+
"args": ["-y", "--package", "@vibebrowser/mcp", "vibebrowser-mcp", "--debug"]
|
|
339
449
|
}
|
|
340
450
|
}
|
|
341
451
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-cli.d.ts","sourceRoot":"","sources":["../src/browser-cli.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+EpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAK7D;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGnE"}
|