This MCP server acts as a remote controller for Yandex Browser, allowing AI models to interact with web tabs just like a human would. It bridges the gap between an AI assistant and a live browser window, enabling the model to "see" what is on a page, move between different websites, and perform basic actions like clicking buttons or scrolling through articles. By providing this real-time link, the tool turns a standard browser into a workspace where an AI can actively navigate and explore the internet. Beyond simple navigation, the tool provides a suite of interactive commands for deep web manipulation. It allows AI agents to fill out complex forms, hover over UI elements to trigger hidden menus, and capture high-quality screenshots of specific sections or entire pages. It can also wait for specific elements to appear before acting, ensuring that the AI doesn't try to interact with a page that hasn't finished loading. This level of control makes it possible to automate repetitive browsing tasks or extract data from dynamic websites with high precision. For developers and power users, the latest version introduces advanced diagnostic and execution features that are perfect for debugging and automation. The server can intercept live console logs—including errors and warnings—and relay them back to the AI for real-time analysis. It supports the execution of custom JavaScript through an evaluation tool and provides programmatic access to the Document Object Model (DOM) to extract raw HTML, metadata, and attributes without needing visual renders. This turns the browser into a fully programmable environment where an LLM can run automated tests, monitor page performance, and interact with web applications at a code-driven level.
Category: Browser & Web Automation
Tags: browser-control, dom-manipulation, javascript, web-automation, yandex
bash git clone https://github.com/T1Trit/yandex-browser-mcp cd yandex-browser-mcp 2. Install dependencies: bash npm install 3. Build the project: bash npm run buildstart-yandex-debug.bat * Manual command (Windows): bash "C:\Users\%USERNAME%\AppData\Local\Yandex\YandexBrowser\Application\browser.exe" --remote-debugging-port=9222claude_desktop_config.json): json { "mcpServers": { "yandex-browser": { "command": "node", "args": ["C:\\Users\\Professional\\Desktop\\yandex-browser-mcp\\build\\index.js"] } } } (Note: Replace the path in args with the actual path to your local build directory.)connect_to_browser: Connect to an already open Yandex Browser instance (optional port). * list_tabs: Get a list of all open tabs. * navigate: Navigate to a specific URL in a tab (url, tabIndex, waitForSelector). Interaction Tools * click: Click on an element (selector, tabIndex). * type: Enter text into a field (selector, text, tabIndex, delay). * hover: Hover the cursor over an element (selector, tabIndex). * key_press: Press a key or combination (key, modifiers, tabIndex). * fill_form: Fill a form with multiple fields (formSelector, fields, tabIndex). Scrolling & Viewport * scroll: Scroll the page or to a specific element (tabIndex, direction, distance, selector, smooth). Information Extraction * get_text: Extract text content (selector, tabIndex). * get_html: Extract HTML content (selector, outerHTML, tabIndex). * get_attributes: Get element attributes (selector, attributes, tabIndex). * get_page_info: Retrieve page metadata (URL, title, description, viewport, meta tags). * get_console_logs: Get browser console logs (tabIndex, type, limit). Utilities * wait_for_element: Wait for an element to appear (selector, tabIndex, timeout, visible). * screenshot: Capture a screenshot (name, tabIndex, fullPage, selector). * evaluate: Execute custom JavaScript code (script, tabIndex). * execute_test: Automate test selection and submission (tabIndex, testSelectors, submitButtonSelector).get_console_logs to find a TypeError, uses get_html to inspect the problematic element, and provides the corrected JavaScript code.UX and Accessibility Testing Problem: QA engineers need to verify that forms work correctly, hover states are active, and elements appear as expected across different page sections, which is usually a repetitive manual task. Solution: By combining fill_form, hover, and wait_for_element, the AI can act as an automated testing agent. It can simulate user behavior, wait for transitions to finish, and take screenshots to document the results. Example: "Fill out the registration form on tab 2, click submit, and tell me if the success message appears." The AI uses fill_form to enter data, click to submit, wait_for_element to confirm the success banner, and screenshot to provide visual proof.
get_page_info and get_text functions allow the AI to instantly pull titles, descriptions, and meta-tags from all open tabs, organizing them into a comparison table. Example: "Analyze all open Yandex Browser tabs and create a table comparing their SEO titles, descriptions, and main H1 headings." The AI iterates through list_tabs, runs get_page_info on each, and summarizes the findings.scroll and evaluate functions allow the AI to interact with the page dynamically. It can scroll to the bottom of the page or to a specific element to trigger loading before extracting the full text. Example: "Go to the news site…Part of MCP Servers