YetiBrowser

Open-source MCP server that automates a local browser tab via browser extensions and MCP clients.
  • javascript

9

GitHub Stars

javascript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "yetidevworks-yetibrowser-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@yetidevworks/server"
      ]
    }
  }
}

YetiBrowser MCP provides a fully open-source server that bridges MCP clients to a real browser tab running locally. It enables automated browser actions from tools like Codex, Claude Code, Cursor, Windsurf, and MCP Inspector while keeping all data on your machine and auditable across the workflow.

How to use

You connect MCP clients to the YetiBrowser MCP server via a local bridge. Run the server from your command line and ensure the client you use (Codex, Claude Code, or another MCP-aware tool) is configured to talk to the local MCP endpoint. The extension in your browser will open a tab that the MCP server can automate, and all interactions stay on your device.

Common usage patterns include loading a URL, navigating the page, waiting for elements, interacting with controls, filling forms, taking screenshots, and retrieving page state such as cookies and storage. You can also inspect console output, handle dialogs, and run custom JavaScript inside the page through the MCP tool set.

How to install

Prerequisites: you need Node.js and npm installed on your machine.

  1. Prepare the MCP server entry for Codex CLI. Create or edit your Codex configuration to include the YetiBrowser MCP server. Use the following snippet as a starting point.
[mcp_servers.yetibrowser-mcp]
command = "npx"
args = ["-y", "@yetidevworks/server"]
  1. If you want to pin a specific WebSocket port, specify it in the args as shown here.
[mcp_servers.yetibrowser-mcp]
command = "npx"
args = ["-y", "@yetidevworks/server", "--ws-port", "9010"]

Additional setup for other clients

Claude Code: ensure the extension is installed and connected to a tab, then start the MCP server with the same command shown above. Add the server entry to Claude’s configuration, then restart Claude so it detects the new MCP server under the /mcp tools menu once the extension connects.

MCP Inspector: you can run the inspector alongside the MCP server to test and debug. A typical run uses the same CLI invocation and port configuration as above.

Other MCP-aware clients: you can start the server via a CLI command and connect your client to the local port. The server exposes the standard MCP transport over stdio, so your client can spawn the command with the appropriate arguments.

Notes on ports and troubleshooting

If you encounter port conflicts, the CLI will scan ports 9010–9020 and indicate when it switches to a different port. You can pin a port by passing --ws-port with the desired value.

The browser extension popup can automatically track the CLI’s port if you leave it on Automatic; select Manual to specify a port if needed.

Configuration and build notes

The MCP server is designed to be easily packaged and integrated with developer workflows. Use the provided commands and configuration blocks to connect MCP clients to a local browser tab and begin automating interactions with full visibility into the browser state.

Available tools

browser_snapshot

Capture an accessibility-oriented snapshot of the current page.

browser_snapshot_diff

Compare the two most recent snapshots to highlight DOM/ARIA changes.

browser_navigate

Load a new URL in the connected tab and return an updated snapshot.

browser_go_back

Navigate back in history while keeping MCP in sync.

browser_go_forward

Navigate forward in history while keeping MCP in sync.

browser_wait

Pause automation for a set number of seconds.

browser_wait_for

Block until a selector appears (optionally visible) before proceeding.

browser_press_key

Simulate a keyboard key press on the focused element.

browser_click

Click the element identified by a CSS selector.

browser_hover

Hover the pointer over the targeted element.

browser_drag

Drag an element onto a drop target for sortable/drag-and-drop UIs.

browser_type

Type text into an editable element, optionally submitting with Enter.

browser_fill_form

Fill multiple inputs, selects, checkboxes, and radios in a single call.

browser_select_option

Choose one or more options in a select element.

browser_screenshot

Capture a viewport or full-page screenshot via DevTools protocol.

browser_get_console_logs

Return recent console output with errors and stack traces.

browser_page_state

Dump forms, storage, and cookies for the connected page.

browser_connection_info

Report bridge WebSocket port, connection status, and extension version.

browser_evaluate

Run custom JavaScript inside the page and return JSON-serializable results.

browser_handle_dialog

Accept or dismiss alert/confirm/prompt dialogs with optional prompt text.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational