@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
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vibebrowser
|
|
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
|
+
metadata:
|
|
5
|
+
{
|
|
6
|
+
"openclaw":
|
|
7
|
+
{
|
|
8
|
+
"emoji": "🌐",
|
|
9
|
+
"requires":
|
|
10
|
+
{
|
|
11
|
+
"bins": ["npx"],
|
|
12
|
+
"env": ["VIBE_EXTENSION_UUID"],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
}
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Vibe Local Browser
|
|
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
|
+
|
|
35
|
+
Use the `vibebrowser-cli` command when the user wants OpenClaw to drive their real local browser through the Vibe extension.
|
|
36
|
+
|
|
37
|
+
Prefer this skill when the task depends on:
|
|
38
|
+
|
|
39
|
+
- the user's real browser profile
|
|
40
|
+
- existing logged-in sessions
|
|
41
|
+
- local tabs already open on the user's machine
|
|
42
|
+
- browser extensions or stored site state
|
|
43
|
+
|
|
44
|
+
Do not use this skill for OpenClaw tenant cloud browsing.
|
|
45
|
+
|
|
46
|
+
## Required environment
|
|
47
|
+
|
|
48
|
+
The shell running OpenClaw must have:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
export VIBE_EXTENSION_UUID="<extension-uuid>"
|
|
52
|
+
|
|
53
|
+
# Optional if you use a custom relay URL.
|
|
54
|
+
# export VIBE_RELAY_URL="wss://relay.api.vibebrowser.app"
|
|
55
|
+
|
|
56
|
+
# Optional compatibility label. Vibe always targets the real local browser path.
|
|
57
|
+
# export VIBE_BROWSER_PROFILE="user"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Command form
|
|
61
|
+
|
|
62
|
+
Prefer this exact command pattern:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json <subcommand> ...
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
If the package is already installed locally, you can use:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json <subcommand> ...
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
If you set `VIBE_RELAY_URL`, append:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
--relay-url "$VIBE_RELAY_URL"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Safe operating rules
|
|
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
|
+
```
|
|
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`).
|
|
89
|
+
- Use `browser open <url>` to create a fresh page when possible.
|
|
90
|
+
- Use `browser evaluate --fn ...` only for simple compatibility-safe expressions such as:
|
|
91
|
+
- `() => 21 + 21`
|
|
92
|
+
- `() => document.title`
|
|
93
|
+
- `() => location.href`
|
|
94
|
+
- `() => location.hostname`
|
|
95
|
+
- `() => location.origin`
|
|
96
|
+
- Avoid destructive actions unless the user explicitly asks.
|
|
97
|
+
- If the CLI returns a connection error, report it clearly and stop guessing.
|
|
98
|
+
- The OpenClaw-compatible `--browser-profile` flag is accepted by the CLI, but Vibe always targets the user's real browser path rather than an isolated managed browser.
|
|
99
|
+
|
|
100
|
+
## Common commands
|
|
101
|
+
|
|
102
|
+
Status:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json status
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
List pages:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json tabs
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Open a new page:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json open https://example.com
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Take the default AI snapshot:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json snapshot
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Take the ARIA / interactive snapshot:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json snapshot --format aria --interactive
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Click and type using OpenClaw-style refs:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json click 12
|
|
136
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json type 23 "hello" --submit
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Evaluate JavaScript:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote "$VIBE_EXTENSION_UUID" --json evaluate --fn '() => document.title'
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Success criteria
|
|
146
|
+
|
|
147
|
+
A successful run usually looks like:
|
|
148
|
+
|
|
149
|
+
1. confirm the relay is reachable
|
|
150
|
+
2. list current tabs or create a fresh one
|
|
151
|
+
3. navigate or snapshot if needed
|
|
152
|
+
4. evaluate `document.title` or `location.href` to verify the result
|
|
153
|
+
5. summarize what happened for the user
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibebrowser/mcp",
|
|
3
|
-
"version": "0.2.
|
|
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",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"bin": {
|
|
9
9
|
"vibebrowser-mcp": "./dist/cli.js",
|
|
10
|
-
"vibe-mcp": "./dist/cli.js"
|
|
10
|
+
"vibe-mcp": "./dist/cli.js",
|
|
11
|
+
"vibebrowser-cli": "./dist/browser-main.js"
|
|
11
12
|
},
|
|
12
13
|
"publishConfig": {
|
|
13
14
|
"access": "public"
|
|
@@ -17,7 +18,13 @@
|
|
|
17
18
|
"dev": "tsc --watch",
|
|
18
19
|
"start": "node dist/cli.js",
|
|
19
20
|
"prepublishOnly": "npm run build",
|
|
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
|
+
"test:e2e:browser-cli": "node scripts/e2e-browser-cli.mjs",
|
|
23
|
+
"test:e2e:cli-relay": "node scripts/e2e-cli-relay.mjs",
|
|
24
|
+
"test:e2e:http": "node scripts/e2e-http-streamable.mjs",
|
|
25
|
+
"test:e2e:browser-cli-live": "node scripts/e2e-browser-cli-live.mjs",
|
|
20
26
|
"test:e2e:relay-race": "node scripts/e2e-relay-fake-extension-race.mjs",
|
|
27
|
+
"test:e2e:relay-roundtrip": "node scripts/e2e-relay-roundtrip.mjs",
|
|
21
28
|
"test:e2e:agents": "node scripts/e2e-mcp-agents.mjs"
|
|
22
29
|
},
|
|
23
30
|
"keywords": [
|
|
@@ -67,6 +74,8 @@
|
|
|
67
74
|
},
|
|
68
75
|
"files": [
|
|
69
76
|
"dist",
|
|
77
|
+
"openclaw",
|
|
78
|
+
"docs",
|
|
70
79
|
"README.md",
|
|
71
80
|
"LICENSE"
|
|
72
81
|
]
|