Labsco
yetidevworks logo

YetiBrowser MCP

β˜… 11

from yetidevworks

YetiBrowser MCP is a fully open-source solution to allow AI assistants to easily interact with your existing browser

πŸ”₯πŸ”₯βœ“ VerifiedFreeQuick setup

[!IMPORTANT] This project has been archived. It was built to address the lack of browser control in AI agents such as Claude and Codex, but the agents now have these functions built in without the need for a dedicated MCP based solution.

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 (Firefox build is pending better Manifest V3 support, so connection UX may be limited until Mozilla ships full MV3 APIs).
  • 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 as package-extensions.sh for release zips.

MCP Tools Available

  • 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 / browser_go_forward – move through 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 (optionally submitting with Enter) into an editable element
  • browser_fill_form – fill multiple inputs/selects/checkboxes/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 the DevTools protocol
  • browser_get_console_logs – return recent console output, including errors with stack traces
  • browser_page_state – dump forms, storage keys, 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

Documentation & build scripts