YetiBrowser MCP
An open-source alternative to BrowserMCP that enables AI assistants to interact with web pages through a Chrome extension. Provides browser automation capabilities without closed-source dependencies by bridging MCP clients to active Chrome tabs.
README
YetiBrowser MCP
YetiBrowser MCP is a fully open-source implementation of the Browser MCP workflow. It links a Node-based MCP server with Chrome/Firefox extensions so Model Context Protocol clients—Codex/Claude Code, Cursor, Windsurf, MCP Inspector, or your own tools—can automate a real browser tab while keeping every byte on your machine and auditable.
Why pick YetiBrowser MCP?
- Transparent and hackable – no blob downloads. Inspect, fork, and extend every component.
- Local-first – the extension talks only to a localhost MCP server; browsing data never leaves your device.
- Cross-browser – shared logic powers both Chrome and Firefox packages.
- Developer-focused tooling – richer console capture, DOM diffing, page-state dumps, and full-page screenshots built for debugging and QA.
- Production-friendly – scripts and docs for packaging, publishing, and integrating with IDE workflows.
Repository layout
packages/shared– shared TypeScript definitions for messages and tool schemas.packages/server– the MCP server that bridges MCP clients to a running browser tab.extensions/shared– shared extension source (background/popup) and assets.extensions/chrome/extensions/firefox– per-browser packaging layers.docs/– workspace commands, publishing checklists, and feature notes.scripts/– helper utilities such aspackage-extensions.shfor release zips.
MCP Tools Available
browser_snapshot– capture an accessibility-oriented snapshot of the current pagebrowser_snapshot_diff– compare the two most recent snapshots to highlight DOM/ARIA changesbrowser_navigate– load a new URL in the connected tab and return an updated snapshotbrowser_go_back/browser_go_forward– move through history while keeping MCP in syncbrowser_wait– pause automation for a set number of secondsbrowser_press_key– simulate a keyboard key press on the focused elementbrowser_click– click the element identified by a CSS selectorbrowser_hover– hover the pointer over the targeted elementbrowser_type– type text (optionally submitting with Enter) into an editable elementbrowser_select_option– choose one or more options in a<select>elementbrowser_screenshot– capture a viewport or full-page screenshot via the DevTools protocolbrowser_get_console_logs– return recent console output, including errors with stack tracesbrowser_page_state– dump forms, storage keys, and cookies for the connected page
MCP Server Installation
Codex CLI
- Edit your ~/.codex/config.toml and add the MCP entry:
[mcp_servers.yetibrowser-mcp] command = "npx" args = ["yetibrowser-mcp", "--ws-port", "9010"] - Restart
codexCLI command; you should seeyetibrowser-mcplisting under/mcptools.
Claude Code
- Make sure the extension is installed and connected to a tab, then start the MCP server with
npx yetibrowser-mcp --ws-port 9010(or run the locally built CLI). - Add the server entry to
~/Library/Application Support/Claude/claude_desktop_config.json(see the example indocs/publishing.md). - Restart
claudeso it picks up the new MCP server; you should seeyetibrowser-mcplisted under the/mcptools menu once the extension connects.
Other MCP-aware clients
- Any MCP client can connect by spawning the CLI (
npx yetibrowser-mcp --ws-port 9010) and pointing it at the Chrome extension port. - The server exposes the standard MCP transport over stdio, so use whatever configuration mechanism your client supports to run the command above when a tab is connected.
MCP Inspector
- For testing and debugging outside a coding agent.
npx @modelcontextprotocol/inspector yetibrowser-mcp -- --ws-port 9010to run and inspect the MCP server in conjunction with the YetiBrowser MCP browser extension.
Troubleshooting
- If you get a connection error, check to make sure you don't have another instance of the server running on the same port. Default is port
9010.
Documentation & build scripts
- Workspace commands live in
docs/workspace-commands.md. - Publishing steps (npm + extension stores) are in
docs/publishing.md. - Screenshot behaviour is documented in
docs/screenshot.md. - Generate distributable Chrome/Firefox zips with
./scripts/package-extensions.sh(outputs toartifacts/). - A repository-level privacy policy is available in
PRIVACY.md.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.