@vibebrowser/mcp 0.2.5 → 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.
@@ -59,56 +59,83 @@ So the missing piece was a streamable HTTP MCP transport.
59
59
 
60
60
  That is what `vibebrowser-mcp start --transport http` now provides.
61
61
 
62
- ## What to install
62
+ ## Prerequisites
63
+
64
+ You need:
65
+
66
+ 1. **Node.js 18+** - `vibebrowser-mcp` requires Node.js
67
+ 2. **Chrome/Brave/Chromium** with the Vibe extension installed
68
+ 3. **OpenClaw** configured with an MCP server URL
69
+
70
+ ## What gets installed
63
71
 
64
72
  The user needs three pieces:
65
73
 
66
74
  1. the Vibe Co-Pilot browser extension
67
75
  2. `vibebrowser-mcp` on the same machine as the browser
68
- 3. an OpenClaw MCP server entry pointing at the local `vibebrowser-mcp` HTTP endpoint
69
-
70
- ## Step 1: install the Vibe extension
76
+ 3. an OpenClaw MCP server entry pointing to the local `vibebrowser-mcp` HTTP endpoint
71
77
 
72
- Install the Vibe Co-Pilot extension from `https://vibebrowser.app`.
78
+ ## Step 1: Install the Vibe extension
73
79
 
74
- Then open the extension settings and enable `MCP External`.
80
+ 1. Install the Vibe Co-Pilot extension from [Chrome Web Store](https://chromewebstore.google.com/detail/vibe-ai-browser-co-pilot/djodpgokbmobeclicaicnnidccoinado)
81
+ 2. Open Chrome and click the Vibe extension icon
82
+ 3. Go to **Settings** (gear icon)
83
+ 4. Find **MCP External** (or "MCP External Control")
84
+ 5. Enable it and select **Remote** mode
85
+ 6. Copy the **Extension UUID** shown - you'll need this for the next step
75
86
 
76
- For cloud OpenClaw, choose **Remote** mode and copy the **Extension UUID**.
87
+ > **Note**: The Extension UUID is a unique identifier that allows `vibebrowser-mcp` to connect to your specific browser session through the Vibe relay.
77
88
 
78
- ## Step 2: start the local HTTP bridge
89
+ ## Step 2: Start the local HTTP bridge
79
90
 
80
91
  On the same machine where the browser extension is installed, run:
81
92
 
93
+ **Option A: Using the helper command (recommended)**
94
+
82
95
  ```bash
83
- npx -y --package @vibebrowser/mcp vibebrowser-mcp start --transport http --remote <extension-uuid>
96
+ npx -y --package @vibebrowser/mcp vibebrowser-mcp openclaw --remote <extension-uuid>
84
97
  ```
85
98
 
86
- By default this starts a local MCP endpoint at:
99
+ This prints the exact commands and MCP URL you need.
87
100
 
88
- ```text
89
- http://127.0.0.1:8788/mcp
90
- ```
91
-
92
- If you want the exact OpenClaw-friendly snippet, you can also run:
101
+ **Option B: Manual command**
93
102
 
94
103
  ```bash
95
- npx -y --package @vibebrowser/mcp vibebrowser-mcp openclaw --remote <extension-uuid>
104
+ npx -y --package @vibebrowser/mcp vibebrowser-mcp start --transport http --remote <extension-uuid>
96
105
  ```
97
106
 
98
- That prints:
107
+ By default this starts a local MCP endpoint at:
99
108
 
100
- - the bridge command
101
- - the MCP URL to register in OpenClaw
102
- - a JSON snippet you can paste into config
109
+ ```
110
+ http://127.0.0.1:8788/mcp
111
+ ```
112
+
113
+ Keep this terminal open - the bridge must stay running for OpenClaw to connect.
103
114
 
104
115
  For operator workflows and OpenClaw skills, you can also use the OpenClaw-compatible browser CLI surface directly:
105
116
 
106
117
  ```bash
118
+ npx -y --package @vibebrowser/mcp vibebrowser-cli sessions
107
119
  npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> status
108
120
  npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> tabs
109
121
  npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> snapshot --json
110
122
  ```
111
123
 
124
+ `snapshot` in `vibebrowser-cli` is tool-only and maps directly to extension snapshot tools:
125
+
126
+ - default (`--format ai`) -> `take_md_snapshot`
127
+ - ARIA (`--format aria`) -> `take_a11y_snapshot`
128
+
129
+ Use `--page-id <id>` (or `--pageId <id>`) to target a specific tab without switching user focus.
130
+
131
+ For local relay mode with multiple connected browsers/profiles:
132
+
133
+ - run `vibebrowser-cli sessions` to list available local session IDs
134
+ - pass `--session <id>` to target one explicitly
135
+ - if omitted, the CLI uses the first connected local session
136
+
137
+ `open` and `navigate` responses include extracted page content in JSON output (`pageContent`) when page state is modified, so agents can continue without an immediate extra snapshot call.
138
+
112
139
  That CLI accepts the same style of verbs and flags OpenClaw operators expect, but it still targets the Vibe real-browser path rather than an isolated OpenClaw-managed browser profile.
113
140
 
114
141
  ## Step 3: add the MCP server to OpenClaw
@@ -127,6 +154,43 @@ Register the bridge URL in OpenClaw:
127
154
 
128
155
  Once that is configured, the cloud OpenClaw agent can use the Vibe browser tools through the local bridge.
129
156
 
157
+ ## Optional: Use the OpenClaw skill for local agents
158
+
159
+ For OpenClaw agents running locally (not in the cloud) that need access to your real browser, you can use the Vibe skill instead of configuring an MCP server URL.
160
+
161
+ ### Install the skill
162
+
163
+ Copy `openclaw/vibebrowser/SKILL.md` from this package to your OpenClaw skills directory. The skill provides OpenClaw-compatible CLI commands that target your Vibe-connected browser.
164
+
165
+ ### Configure environment
166
+
167
+ Set the extension UUID in your shell:
168
+
169
+ ```bash
170
+ export VIBE_EXTENSION_UUID="<your-extension-uuid>"
171
+ ```
172
+
173
+ ### Available commands
174
+
175
+ ```bash
176
+ # Check status
177
+ npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json status
178
+
179
+ # List tabs
180
+ npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json tabs
181
+
182
+ # Open a page
183
+ npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json open https://example.com
184
+
185
+ # Click element by index
186
+ npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json click 12
187
+
188
+ # Type into element
189
+ npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json type 23 "hello"
190
+ ```
191
+
192
+ See [`openclaw/vibebrowser/SKILL.md`](../openclaw/vibebrowser/SKILL.md) for the full command reference.
193
+
130
194
  ## When to use this setup
131
195
 
132
196
  This architecture is the right fit when the agent needs the **user's own browser context**, for example:
@@ -171,3 +235,30 @@ That is a much better fit than asking users to move their life into a fresh clou
171
235
  The end result is simple:
172
236
 
173
237
  **OpenClaw stays in the cloud. The browser stays local. Vibe MCP connects them cleanly.**
238
+
239
+ ## Troubleshooting
240
+
241
+ ### "Extension UUID not found"
242
+
243
+ Make sure you've enabled **Remote** mode in the Vibe extension settings. The UUID only appears when Remote mode is active.
244
+
245
+ ### "Connection refused" errors
246
+
247
+ 1. Ensure the `vibebrowser-mcp` process is still running
248
+ 2. Check the terminal for error messages
249
+ 3. Verify the MCP URL matches exactly (including the `/mcp` path)
250
+
251
+ ### "No extension connected"
252
+
253
+ 1. Open Chrome and click the Vibe extension icon
254
+ 2. Verify MCP External is enabled in Settings
255
+ 3. Check the extension shows "Connected" status
256
+
257
+ ### MCP URL format
258
+
259
+ The correct format is:
260
+ ```
261
+ http://127.0.0.1:8788/mcp
262
+ ```
263
+
264
+ Not `http://127.0.0.1:8788` (missing `/mcp` path).
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: vibe-local-browser
2
+ name: vibebrowser
3
3
  description: Control the user's local browser through the Vibe Browser CLI bridge. Use this when the task must run against the user's real Vibe-connected browser session, tabs, cookies, or installed extensions.
4
4
  metadata:
5
5
  {
@@ -17,6 +17,21 @@ metadata:
17
17
 
18
18
  # Vibe Local Browser
19
19
 
20
+ ## Installation
21
+
22
+ 1. **Get the Extension UUID**:
23
+ - Install the Vibe extension in Chrome
24
+ - Open extension Settings → MCP External
25
+ - Enable Remote mode and copy the Extension UUID
26
+
27
+ 2. **Set environment variable**:
28
+ ```bash
29
+ export VIBE_EXTENSION_UUID="<your-extension-uuid>"
30
+ ```
31
+
32
+ 3. **Install the skill**:
33
+ Copy this file to your OpenClaw skills directory (typically `~/.openclaw/skills/` or your project's `openclaw/skills/` folder).
34
+
20
35
  Use the `vibebrowser-cli` command when the user wants OpenClaw to drive their real local browser through the Vibe extension.
21
36
 
22
37
  Prefer this skill when the task depends on:
@@ -64,7 +79,13 @@ If you set `VIBE_RELAY_URL`, append:
64
79
 
65
80
  ## Safe operating rules
66
81
 
82
+ - **Never use `focus` or `tab select` unless explicitly asked.** The user may be actively working in the browser — switching their active tab is disruptive. Instead, pass `--page-id <id>` (or `--pageId <id>`) to target a specific tab without switching focus. Get the page ID from `tabs` output, then use it on any command:
83
+ ```bash
84
+ vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json --page-id 2 snapshot
85
+ vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json --page-id 2 click 7
86
+ ```
67
87
  - Prefer `browser tabs` or `browser snapshot` before acting.
88
+ - `snapshot` is tool-only and maps to extension snapshot tools (`take_md_snapshot` by default, `take_a11y_snapshot` for `--format aria`).
68
89
  - Use `browser open <url>` to create a fresh page when possible.
69
90
  - Use `browser evaluate --fn ...` only for simple compatibility-safe expressions such as:
70
91
  - `() => 21 + 21`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibebrowser/mcp",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "type": "module",
5
5
  "description": "MCP server for browser automation - the only solution supporting multiple AI agents (Claude, Cursor, VS Code) simultaneously controlling your Chrome browser",
6
6
  "main": "dist/index.js",
@@ -18,10 +18,13 @@
18
18
  "dev": "tsc --watch",
19
19
  "start": "node dist/cli.js",
20
20
  "prepublishOnly": "npm run build",
21
- "test": "npm run test:e2e:relay-race && npm run test:e2e:http && npm run test:e2e:browser-cli",
21
+ "test": "npm run test:e2e:relay-race && npm run test:e2e:relay-roundtrip && npm run test:e2e:cli-relay && npm run test:e2e:http && npm run test:e2e:browser-cli",
22
22
  "test:e2e:browser-cli": "node scripts/e2e-browser-cli.mjs",
23
+ "test:e2e:cli-relay": "node scripts/e2e-cli-relay.mjs",
23
24
  "test:e2e:http": "node scripts/e2e-http-streamable.mjs",
25
+ "test:e2e:browser-cli-live": "node scripts/e2e-browser-cli-live.mjs",
24
26
  "test:e2e:relay-race": "node scripts/e2e-relay-fake-extension-race.mjs",
27
+ "test:e2e:relay-roundtrip": "node scripts/e2e-relay-roundtrip.mjs",
25
28
  "test:e2e:agents": "node scripts/e2e-mcp-agents.mjs"
26
29
  },
27
30
  "keywords": [