AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified Apache-2.0 Self-run

Vibe Mcp

mcp-vibetechnologies-vibe-mcp · by VibeTechnologies

MCP server for browser automation - the only solution supporting multiple AI agents simultaneously (Claude Desktop, Cursor, VS Code, OpenCode)

— No reviews yet
0 installs
30 views
0.0% view→install

Install

$ agentstack add mcp-vibetechnologies-vibe-mcp

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ● Network access Used
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-vibetechnologies-vibe-mcp)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 3mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Vibe Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Vibe MCP - Browser Automation for AI Agents

[](https://www.npmjs.com/package/@vibebrowser/mcp) [](LICENSE)

MCP server for Vibe AI Browser - the only browser automation tool that supports multiple AI agents simultaneously.

Install prompt for AI agents (OpenClaw / Hermes)

Paste the block below into your OpenClaw or Hermes agent. Replace the last line with your remote value — a UUID or a wss://relay.api.vibebrowser.app/ URL from the Vibe extension's Settings → AI Agent Control → Remote (internet) → Relay access. That's the only edit you make.

You are setting yourself up to control my real Chrome through Vibe Browser. Work through the steps in order, and after each step confirm it worked before moving on. Do not claim a step is done until you have proven it.

1. Install the "vibebrowser" skill for your runtime:
   - OpenClaw:  npx -y skills add VibeTechnologies/vibe-mcp -s vibebrowser -a openclaw -g -y --copy --dangerously-accept-openclaw-risks
                then run `openclaw skills list` and confirm a "vibebrowser" row shows "ready" as installer registration.
   - Hermes:    npx -y skills add VibeTechnologies/vibe-mcp -s vibebrowser -y
                optional installer registration check: `npx -y skills list` shows a "vibebrowser" row.

2. Remember my remote so I only give it to you once. Save it to a file `vibebrowser-cli.md` in your persistent agent workspace root (the directory that holds your `memory/` folder — not the shell's working dir, not $HOME unless they are the same) as a line `remote: `; if your runtime can also write memory keys, additionally store it under `vibebrowser_remote`. On every later command — including the first message of a new conversation — load it back from that file and reuse it without asking me again.

3. Record a standing rule so you route correctly later: whenever I ask you to do anything in MY browser / MY Chrome / MY tabs / the page I'm on, use this vibebrowser skill (`npx -y @vibebrowser/cli@latest` with my saved remote) to drive my REAL browser — never your built-in, headless, or in-pod browser, never web-fetch instead, and never run `vibebrowser`. Save this rule wherever your standing instructions/memory live so it applies in future conversations.

4. Confirm you can control my Chrome, retrying on "Extension reconnecting" (wait 3s, up to 5x):
   npx -y @vibebrowser/cli@latest --remote "" --json status --wait-for-extension --wait-timeout 20000
   npx -y @vibebrowser/cli@latest --remote "" --json snapshot --format aria

Then report: (1) is extensionConnected true, (2) did the snapshot return my real page content?

My remote: 

Why Vibe MCP?

| 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 |

Multi-Agent Architecture

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]  
Claude Desktop

Edit your Claude Desktop config file:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "vibe": {
      "command": "npx",
      "args": ["-y", "@vibebrowser/mcp"]
    }
  }
}

Restart Claude Desktop after saving.

Cursor

  1. Open Cursor Settings (Cmd/Ctrl + ,)
  2. Go to "Features" -> "MCP Servers"
  3. 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"]
    }
  }
}

MCP command forms

Use the shortest direct package invocation for the MCP server:

npx -y @vibebrowser/mcp@latest --help
npx -y @vibebrowser/mcp@latest start --transport http
npx -y @vibebrowser/mcp@latest openclaw --remote "$VIBE_REMOTE_UUID"

Backward-compatible aliases still work when you need explicit binaries:

npx -y -p @vibebrowser/mcp@latest vibebrowser-mcp --help
npx -y -p @vibebrowser/mcp@latest vibe-mcp --help

3. Connect the Extension

  1. Open Chrome with the Vibe extension installed
  2. Click the Vibe extension icon in the toolbar
  3. Go to Settings and enable "MCP External Control"
  4. 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.

--devtools mode (drive your real Chrome over CDP)

Pass --devtools to either CLI to bypass relay/extension routing entirely and drive your real running Chrome directly over the Chrome DevTools Protocol. This backend (ported from the chrome-use skill) reads Chrome's DevToolsActivePort file and autoConnects to your live profile — no extension, no external MCP server, zero extra dependencies. Requires Chrome 144+; the permission dialog fires once per profile.

--devtools exposes a focused tool set: navigate, snapshot (accessibility tree with @eN refs), click, fill, type, press_key, hover, scroll, screenshot, eval, get_text, get_url, get_title, and tab management (list_tabs, new_tab, select_tab, close_tab). Use snapshot to get @eN element refs, then pass them as selectors to click/fill/type.

Override the Chrome profile/channel with VIBE_CHROME_USER_DATA_DIR and VIBE_CHROME_CHANNEL (stable | canary | beta | dev).

Not yet covered by --devtools v1 (addable later as more CDP domains are wired): network request inspection, console logs, performance traces, Lighthouse, memory snapshots, device emulation, dialog handling, file upload, and drag.

Available Tools

| 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 |

How It Works

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)
  1. AI applications connect via MCP over stdio
  2. vibebrowser-mcp connects to the local relay on port 19888
  3. The relay forwards commands to the extension on port 19889
  4. Results flow back to the agent

Multi-Agent Mode

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

Cloud OpenClaw -> Local Browser

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. Pass either the extension UUID or the full WebSocket relay URL to --remote.

VIBE_REMOTE_UUID="YOUR-EXTENSION-UUID"
VIBE_REMOTE_URL="wss://relay.api.vibebrowser.app/YOUR-EXTENSION-UUID"

npx -y @vibebrowser/mcp@latest start --transport http --remote "$VIBE_REMOTE_UUID"
npx -y @vibebrowser/mcp@latest start --transport http --remote "$VIBE_REMOTE_URL"

This exposes a local MCP endpoint at http://127.0.0.1:8788/mcp by default.

When OpenClaw runs on a different machine (for example cloud-hosted), provide a reachable URL:

VIBE_REMOTE_UUID="YOUR-EXTENSION-UUID"
VIBE_REMOTE_URL="wss://relay.api.vibebrowser.app/YOUR-EXTENSION-UUID"
PUBLIC_MCP_URL="https://browser-bridge.example.com/mcp"

npx -y @vibebrowser/mcp@latest openclaw --remote "$VIBE_REMOTE_UUID" --public-url "$PUBLIC_MCP_URL"
npx -y @vibebrowser/mcp@latest openclaw --remote "$VIBE_REMOTE_URL" --public-url "$PUBLIC_MCP_URL"

You can print the exact OpenClaw-friendly setup with:

VIBE_REMOTE_UUID="YOUR-EXTENSION-UUID"
VIBE_REMOTE_URL="wss://relay.api.vibebrowser.app/YOUR-EXTENSION-UUID"

npx -y @vibebrowser/mcp@latest openclaw --remote "$VIBE_REMOTE_UUID"
npx -y @vibebrowser/mcp@latest openclaw --remote "$VIBE_REMOTE_URL"

Use --remote with the default public relay, or --remote when you need an explicit relay endpoint.

For direct browser CLI checks, always use npx -y @vibebrowser/cli@latest:

VIBE_REMOTE_UUID="YOUR-EXTENSION-UUID"
VIBE_REMOTE_URL="wss://relay.api.vibebrowser.app/YOUR-EXTENSION-UUID"

npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_UUID" --json status
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" --json status

--remote uses the default public relay. --remote targets an explicit relay endpoint.

For the full walkthrough, see docs/openclaw-local-browser.md.

OpenClaw-Compatible Browser CLI

npx -y @vibebrowser/cli@latest mirrors the OpenClaw browser CLI shape for the real local-browser path:

npx -y @vibebrowser/cli@latest sessions
VIBE_REMOTE_UUID="YOUR-EXTENSION-UUID"
VIBE_REMOTE_URL="wss://relay.api.vibebrowser.app/YOUR-EXTENSION-UUID"
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_UUID" status
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" tabs
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_UUID" open https://example.com
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" snapshot
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_UUID" click 12
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" type 23 "hello" --submit
npx -y @vibebrowser/cli@latest --devtools status

Use the MCP package for MCP server workflows and the CLI package for direct browser control:

  • vibebrowser-mcp for MCP server, HTTP bridge, and helper commands
  • npx -y @vibebrowser/cli@latest for 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:

  • npx -y @vibebrowser/cli@latest sessions lists connected local browser sessions.
  • npx -y @vibebrowser/cli@latest --session ... targets a specific local session.
  • If --session is omitted in local mode, the CLI uses the first connected session.
  • In remote mode, pass either --remote to use the default public relay or --remote to use an explicit relay endpoint.

Snapshot behavior is tool-only (no legacy snapshot RPC shortcut):

  • snapshot (default, --format ai) resolves via the take_md_snapshot tool — uses the content script's in-page markdown extractor. Fast and readable, but may return empty for background tabs or complex SPAs (Notion, Gmail) where the content script is unreachable or layout is not computed.
  • snapshot --format aria resolves via the take_a11y_snapshot tool — uses Chrome DevTools Protocol Accessibility.getFullAXTree directly. Reliable for all tabs including background tabs and SPAs. Use this as a fallback when the default format returns empty or only a page title.

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 / navigate include pageContent in JSON output.
  • MCP tool calls for navigation-style tools return text content that includes current page state (with snapshot fallback when needed).

Install Prompt for AI Agents (OpenClaw / Hermes)

Use the single canonical copy-paste prompt at the top of this README: [Install prompt for AI agents (OpenClaw / Hermes)](#install-prompt-for-ai-agents-openclaw--hermes). It installs the vibebrowser skill, saves your remote so you only give it once, and proves control of your real Chrome.

For a deeper skill definition (when to prefer this over a managed/headless browser, the remote-recall rules, selector/snapshot guidance), install openclaw/vibebrowser/SKILL.md into the agent's skills directory.

OpenClaw Integration

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:

  1. Install the Vibe extension and enable Remote mode (see [docs/openclaw-local-browser.md](docs/openclaw-local-browser.md))
  2. Start the local HTTP bridge: vibebrowser-mcp openclaw --remote "$VIBE_REMOTE_UUID" [--public-url "$PUBLIC_MCP_URL"] or vibebrowser-mcp openclaw --remote "$VIBE_REMOTE_URL" [--public-url "$PUBLIC_MCP_URL"]
  3. 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):

  1. Copy the Vibe skill from this package to your OpenClaw skills folder
  2. Use the extension UUID or full WebSocket relay URL with --remote
  3. Use npx -y @vibebrowser/cli@latest commands in your agent prompts

The skill is located at [openclaw/vibebrowser/SKILL.md](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)
  • --json output for machine parsing
  • Environment-based configuration

See [docs/openclaw-local-browser.md](docs/openclaw-local-browser.md) for the complete walkthrough.

Local LLM: serve Command

Run a local LLM with one command — no cloud API keys required. Automatically installs [Ollama](https://ollama.c

…

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.