YetiBrowser MCP acts as a bridge that allows AI assistants to see and interact with a web browser just like a human would. Instead of just reading static text, an AI can now use this tool to open tabs, click buttons, fill out forms, and navigate through websites in real-time. It is designed to be completely private and transparent, keeping all browsing data on the user’s local machine while giving AI agents a set of "hands" to explore and interact with the live web. On a technical level, this solution links a Node-based Model Context Protocol server directly to browser extensions for Chrome and Firefox. It provides a robust suite of automation tools, including the ability to capture accessibility-oriented snapshots, monitor console logs for errors, and even execute custom JavaScript within a page. Developers can use it to perform complex actions like DOM diffing—which highlights exactly how a page changed after an interaction—or simulating specific keyboard and mouse events to navigate sophisticated web applications. What makes this MCP particularly valuable for developers is its "local-first" and open-source nature. Because the extension communicates only with a localhost server, sensitive browsing data never leaves the device, making it a secure choice for integrating with AI coding assistants like Claude Code, Cursor, or Windsurf. With specialized features for dumping page states, capturing full-page screenshots, and handling dialog boxes, it transforms a standard LLM into a powerful, auditable agent capable of web testing, automated research, and deep debugging.
Category: Browser & Web Automation
Tags: chrome, dom-manipulation, firefox, javascript, web-automation
npx. No manual global installation is required if using the commands below. ---~/.codex/config.toml) Add the following entry to your configuration file: toml [mcp_servers.yetibrowser-mcp] command = "npx" args = ["yetibrowser-mcp"] Note: To specify a port, use: args = ["yetibrowser-mcp", "--ws-port", "9010"]claude_desktop_config.json) While the text refers to a separate document for the specific JSON, based on the provided npx instructions, the standard configuration for Claude Desktop would be: json { "mcpServers": { "yetibrowser-mcp": { "command": "npx", "args": ["-y", "yetibrowser-mcp"] } } }bash npx @modelcontextprotocol/inspector yetibrowser-mcp -- --ws-port 9010 ---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 browser history. * browser_wait: Pause automation for a specified number of seconds. * browser_wait_for: Block until a selector appears (optionally visible). * 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. * browser_type: Type text into an editable element (optionally submitting with Enter). * browser_fill_form: Fill multiple inputs/selects/checkboxes/radios in one call. * browser_select_option: Choose options in a <select> element. * browser_screenshot: Capture a viewport or full-page screenshot. * browser_get_console_logs: Return recent console output, including errors with stack traces. * browser_page_state: Dump forms, storage keys, and cookies for the page. * browser_connection_info: Report bridge WebSocket port, connection status, and extension version. * browser_evaluate: Run custom JavaScript inside the page and return JSON results. * browser_handle_dialog: Accept or dismiss alert/confirm/prompt dialogs. ---browser_snapshot_diff and browser_screenshot tools enable the AI to detect DOM or visual regressions automatically. Example: A developer asks the AI: "Navigate to the settings page, take a snapshot, then click the 'Dark Mode' toggle and tell me if any elements disappeared from the accessibility tree." The AI uses browser_navigate, browser_snapshot, browser_click, and browser_snapshot_diff to report specific UI changes.browser_get_console_logs, browser_page_state, and browser_evaluate. An AI can "reach into" the running tab to diagnose issues based on real-time data that is usually hidden from the assistant. Example: A developer tells their AI IDE (like Cursor or Claude Code): "The checkout button isn't working on my local dev tab. Check the console logs and the current state of the Redux store." The AI runs browser_get_console_logs to find a 404 error and uses browser_evaluate to inspect the JavaScript heap or global variables.browser_fill_form, and click 'Save'."browser_drag, browser_wait_for, and browser_select_option. This allows…Part of MCP Servers