MCP server for Vibe AI Browser - the only browser automation tool that supports multiple AI agents simultaneously.
| Feature | Vibe MCP | Playwright MCP | BrowserMCP |
|---|---|---|---|
| Multi-Agent Support | Yes | No | No |
| Uses Your Browser Profile | Yes | No | No |
| Logged-In Sessions | Yes | No | No |
| No Separate Browser | Yes | No | No |
| Local & Private | Yes | Yes | Partial |
| Content Script Based | Yes | No | No |
Vibe MCP is the only solution that allows multiple AI agents to control the same browser simultaneously. Run Claude Desktop, Cursor, VS Code Copilot, and OpenCode all at once - they all share control of your browser through our relay architecture.
Claude Desktop Cursor VS Code OpenCode
| | | |
v v v v
[vibebrowser-mcp] [vibebrowser-mcp] [vibebrowser-mcp] [vibebrowser-mcp]
| | | |
+------------------+----------------+---------------+
|
v
[Relay Daemon] <-- Auto-spawned, handles multiplexing
|
v
[Vibe Extension]
|
v
[Your Chrome]
Competitors like Playwright MCP and BrowserMCP fail when you try to run multiple agents - they get port conflicts or connection errors. Vibe MCP just works.
- Multi-Agent Ready - Run Claude, Cursor, VS Code, and more simultaneously
- Uses Your Browser - No separate browser instance, uses your existing Chrome with all your logins
- Fast & Local - Automation happens on your machine, no cloud latency
- Private - Your browsing data never leaves your device
- Stable - Content script based, no flaky CDP connections
- Chrome DevTools Fallback - Extension tools stay primary by default; use
--devtoolsto force chrome-devtools-only mode
Install the Vibe AI Browser extension in Chrome, Brave, or any Chromium browser:
Option A: Chrome Web Store (Recommended)
- Visit the Chrome Web Store
- Click "Add to Chrome"
- The Vibe icon will appear in your toolbar
Option B: Developer Version
- Download the latest release ZIP
- Extract to a permanent folder
- Go to
chrome://extensions, enable Developer Mode - Click "Load unpacked" and select the extracted folder
For detailed instructions, see the installation guide.
Claude Desktop
Edit your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}Restart Claude Desktop after saving.
Cursor
- Open Cursor Settings (Cmd/Ctrl + ,)
- Go to "Features" -> "MCP Servers"
- Click "Add Server" and add:
{
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}Or edit ~/.cursor/mcp.json directly.
VS Code (GitHub Copilot)
Add to your VS Code settings.json:
{
"github.copilot.chat.mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}Windsurf
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}OpenCode
Add to your .opencode/config.json:
{
"mcp": {
"servers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}
}Gemini CLI
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}OpenAI Codex CLI
Add to your Codex configuration:
{
"mcp": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}- Open Chrome with the Vibe extension installed
- Click the Vibe extension icon in the toolbar
- Go to Settings and enable "MCP External Control"
- The status should show "Connected"
If the extension is not connected, vibebrowser-mcp can optionally fall back to
chrome-devtools-mcp (started in --autoConnect mode) when that package is installed.
This fallback runs once in the shared local relay daemon (multi-agent safe), so
both vibebrowser-mcp and vibebrowser-cli use the same backend instance.
When extension is connected, extension tools are authoritative. Chrome DevTools
fallback tools are exposed only when extension is unavailable/disconnected.
Pass --devtools to either CLI to bypass relay/extension routing and use only
the chrome-devtools backend.
| Tool | Description |
|---|---|
navigate_to_url |
Navigate to any URL |
go_back / go_forward |
Browser history navigation |
click |
Click elements on the page |
type / fill |
Enter text into inputs |
scroll |
Scroll the page |
take_screenshot |
Capture screenshots |
get_page_content |
Extract page text/HTML |
get_tabs / create_new_tab / switch_to_tab / close_tab |
Tab management |
keyboard_shortcut |
Press keyboard combinations |
web_search |
Search the web |
Default local mode (no flags):
Claude / Cursor / VS Code (stdio)
│
▼
[vibebrowser-mcp]
│ ws://127.0.0.1:19888
▼
Local Relay (auto-spawned)
│ ws://127.0.0.1:19889
▼
Vibe Extension (Chrome)
- AI applications connect via MCP over stdio
vibebrowser-mcpconnects to the local relay on port19888- The relay forwards commands to the extension on port
19889 - Results flow back to the agent
When multiple agents connect, Vibe MCP automatically spawns a relay daemon:
- First agent starts the relay (listens on ports 19888 and 19889)
- Additional agents connect to the relay as clients
- Relay multiplexes all agent requests to the single extension connection
- Each agent receives only its own responses
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.
npx -y --package @vibebrowser/mcp vibebrowser-mcp start --transport http --remote <extension-uuid>This exposes a local MCP endpoint at http://127.0.0.1:8788/mcp by default.
You can print the exact OpenClaw-friendly setup with:
npx -y --package @vibebrowser/mcp vibebrowser-mcp openclaw --remote <extension-uuid>For the full walkthrough, see docs/openclaw-local-browser.md.
vibebrowser-cli mirrors the OpenClaw browser CLI shape for the real local-browser path:
npx -y --package @vibebrowser/mcp vibebrowser-cli sessions
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> status
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> tabs
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> open https://example.com
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> snapshot
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> click 12
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> type 23 "hello" --submit
npx -y --package @vibebrowser/mcp vibebrowser-cli --devtools statusThe package now exposes two executables:
vibebrowser-mcpfor MCP server, HTTP bridge, and helper commandsvibebrowser-clifor OpenClaw-inspired browser control against the real Vibe-connected session
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.
Local-session selection:
vibebrowser-cli sessionslists connected local browser sessions.vibebrowser-cli --session <id> ...targets a specific local session.- If
--sessionis omitted in local mode, the CLI uses the first connected session. - In remote mode,
--remote <extension-uuid>remains the explicit browser selector.
Snapshot behavior is tool-only (no legacy snapshot RPC shortcut):
snapshot(default) resolves viatake_md_snapshotsnapshot --format ariaresolves viatake_a11y_snapshot
This keeps CLI behavior aligned with extension-supported tools and ensures page targeting works consistently with --page-id/--pageId.
For navigation-style operations, responses now include page content when page state changes:
- CLI
open/navigateincludepageContentin JSON output. - MCP tool calls for navigation-style tools return text content that includes current page state (with snapshot fallback when needed).
There are two ways to use Vibe with OpenClaw:
Option A: Cloud OpenClaw controlling local browser
If OpenClaw runs in the cloud but you want it to control your local browser:
- Install the Vibe extension and enable Remote mode (see docs/openclaw-local-browser.md)
- Start the local HTTP bridge:
vibebrowser-mcp openclaw --remote <extension-uuid> - Register the MCP URL in OpenClaw
Option B: OpenClaw skill for local agents
For OpenClaw agents that need your real browser context (logged-in sessions, existing tabs):
- Copy the Vibe skill from this package to your OpenClaw skills folder
- Set
VIBE_EXTENSION_UUIDenvironment variable - Use
vibebrowser-clicommands in your agent prompts
The skill is located at openclaw/vibebrowser/SKILL.md and provides:
- Full OpenClaw-compatible CLI commands (
status,tabs,snapshot,click,type, etc.) - Fallback-safe commands for DevTools-backed flows (
resize,upload,dialog) --jsonoutput for machine parsing- Environment-based configuration
See docs/openclaw-local-browser.md for the complete walkthrough.
Run a local LLM with one command — no cloud API keys required. Automatically installs Ollama, downloads the model, and starts serving an OpenAI-compatible API.
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve qwen3.5That's it. Works on macOS, Linux, and Windows.
- Detects Ollama → installs it if missing (via
brew,curl, orwinget) - Starts the server → launches
ollama servein the background - Downloads the model → streams download progress to your terminal
- Prints connection info → ready to use with VibeBrowser or any OpenAI-compatible client
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve qwen3.5 # Best overall for agentic tasks
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve llama4 # Strong general reasoning
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve deepseek-r1 # Reasoning chains
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve mistral # Lightweight & fast (7B)npx -y --package @vibebrowser/mcp vibebrowser-mcp serve <model> [options]
Options:
-p, --port <number> Ollama API port (default: 11434)
-y, --yes Skip install confirmation prompts
-d, --debug Enable debug loggingAfter serve completes, configure the extension:
- Model provider →
ollama - Model name → the model you served (e.g.,
qwen3.5)
The extension connects to http://localhost:11434/v1 automatically.
npx -y --package @vibebrowser/mcp vibebrowser-mcp --help
npx -y --package @vibebrowser/mcp vibebrowser-cli --help
# MCP server (default)
npx -y --package @vibebrowser/mcp vibebrowser-mcp [start] [options]
-p, --port <number> WebSocket port for local relay (agent) connection (default: 19888)
-d, --debug Enable debug logging
--transport <mode> MCP transport to expose: stdio or http (default: stdio)
--host <host> Host to bind the HTTP server to (default: 127.0.0.1)
--http-port <number> Port for streamable HTTP MCP transport (default: 8788)
--http-path <path> Path for streamable HTTP MCP transport (default: /mcp)
--allow-host <host> Allowed host header for HTTP transport (repeatable)
-r, --remote <uuid> Connect to a remote extension via public relay
--devtools Use only chrome-devtools backend (bypasses extension relay)
--relay-url <url> Custom relay server URL
# OpenClaw helper
npx -y --package @vibebrowser/mcp vibebrowser-mcp openclaw --remote <extension-uuid>
# OpenClaw-compatible browser CLI
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> status
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> tabs
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> snapshot --json
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> click 12
npx -y --package @vibebrowser/mcp vibebrowser-cli --remote <extension-uuid> type 23 "hello" --submit
npx -y --package @vibebrowser/mcp vibebrowser-cli --devtools tabs
# Local LLM server
npx -y --package @vibebrowser/mcp vibebrowser-mcp serve <model> [options]
-p, --port <number> Ollama API port (default: 11434)
-y, --yes Skip confirmation prompts
-d, --debug Enable debug logging- Ensure the Vibe extension is installed in Chrome
- Click the extension icon and enable "MCP External Control" in Settings
- Check that no firewall is blocking localhost connections
- Start
vibebrowser-mcpin HTTP mode instead of stdio - Make sure the bridge process is still running on the user's machine
- Confirm the extension is in
Remotemode and connected - Verify the MCP URL in OpenClaw matches the bridge URL, usually
http://127.0.0.1:8788/mcp
Enable debug logging to diagnose issues:
{
"mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "--package", "@vibebrowser/mcp", "vibebrowser-mcp", "--debug"]
}
}
}git clone https://github.com/VibeTechnologies/vibe-mcp.git
cd vibe-mcp
npm install
npm run build
node dist/cli.js --debugbrowser automation, mcp server, model context protocol, ai browser control, claude desktop browser, cursor browser automation, web automation, chrome automation, ai agent browser, multi-agent browser control, playwright alternative, puppeteer alternative, browser mcp, web scraping ai, ai web agent
Apache-2.0
- Vibe AI Browser - Main product
- Documentation - Full docs
- Chrome Extension - Install extension
- GitHub Issues - Report bugs
- npm Package - npm registry