Stealth Browser MCP

by vibheksoni• 3.3k•• Scanned•Claim this listing•Request removal
Browser Automationai agent toolsai toolsanthropicanti bot bypassautomation tools

Stealth browser automation for AI agents over MCP and the Chrome DevTools Protocol: navigation, network hooks, DOM extraction, and pixel-accurate UI cloning.

Stealth Browser MCP is an open-source mcp server by vibheksoni, written mainly in Python, with 3,309 GitHub stars and the MIT license. Its code was last updated Oct 26, 2026.

Scan summary: scanned Nov 5, 2026 at commit f14dce3. Seen able to run shell commands, run dynamic code, read environment and secrets, control a web browser. Scan policy

What Stealth Browser MCP can touch

  • Run shell commandsListed as a tool: execute_script
  • Run dynamic codeListed as a tool: add_script_to_evaluate_on_new_document
  • Read or write filesNot seen in this scan
  • Read environment and secretsListed as a tool: validate_browser_environment_tool
  • Control a web browserListed as a tool: spawn_browser
  • Connect to databasesListed as a tool: query_elements
  • Read or send messagesNot seen in this scan
  • Touch money or tradingNot seen in this scan
  • Connect to the internetNo connections seen while running

"Not seen" means our checks did not find it, and the tool may still do it. Covers commit f14dce3, Nov 5, 2026. See the scan policy.

Before you install Stealth Browser MCP

AgenticMart scanned Stealth Browser MCP on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What it can access

  • An MCP server is a program your AI app starts and talks to. A local one runs with your user's permissions: it can see the files, environment variables and network your account can.
  • Based on its description and topics, it likely needs to control a web browser (visit sites, fill in and submit forms).
  • Based on its description and topics, it likely needs to act on cloud infrastructure.

Before you install

  1. Run it in a separate browser profile without your logged-in accounts.
  2. Use a role with only the permissions it needs, never an admin key.
  3. Pin the version you reviewed instead of always installing the latest release.
  4. Read the tool list or scripts before the first run, and keep approval prompts on for actions that write, send or delete.
  • Maintained by vibheksoni on GitHub, 3,309 stars and 409 forks. Popularity is not proof of safety.
  • Last code change: Oct 26, 2026.
  • Open-source license: MIT.

Tools Stealth Browser MCP exposes (101)

Listed by the server itself during our scan of commit f14dce3.

  • spawn_browser

    Spawn a new browser instance. Args: headless (bool): Run in headless mode. user_agent (Optional[str]): Custom user agent string. viewport_width (int): Viewport width in pixels. viewport_height (int): Viewport height in pixels. proxy (Optional[str]): Proxy server URL. browser

  • list_instances

    List all active browser instances. Returns: List[Dict[str, Any]]: List of browser instances with their current state.

  • close_instance

    Close a browser instance. Args: instance_id (str): Browser instance ID. Returns: bool: True if closed successfully.

  • get_instance_state

    Get detailed state of a browser instance. Args: instance_id (str): Browser instance ID. Returns: Optional[Dict[str, Any]]: Complete state information.

  • navigate

    Navigate to a URL. Args: instance_id (str): Browser instance ID. url (str): URL to navigate to. wait_until (str): Wait condition - 'load', 'domcontentloaded', or 'networkidle'. timeout (int): Navigation timeout in milliseconds. referrer (Optional[str]): Referrer URL. Returns:

  • go_back

    Navigate back in history. Args: instance_id (str): Browser instance ID. Returns: bool: True if navigation was successful.

  • go_forward

    Navigate forward in history. Args: instance_id (str): Browser instance ID. Returns: bool: True if navigation was successful.

  • reload_page

    Reload the current page. Args: instance_id (str): Browser instance ID. ignore_cache (bool): Whether to ignore cache when reloading. Returns: bool: True if reload was successful.

  • query_elements

    Query DOM elements. Args: instance_id (str): Browser instance ID. selector (str): CSS selector or XPath (starts with '//'). text_filter (Optional[str]): Filter by text content. visible_only (bool): Only return visible elements. limit (Optional[Any]): Maximum number of elements t

  • click_element

    Click an element. Args: instance_id (str): Browser instance ID. selector (str): CSS selector or XPath. text_match (Optional[str]): Click element with matching text. timeout (int): Timeout in milliseconds. Returns: bool: True if clicked successfully.

  • type_text

    Type text into an input field with trusted keyboard events. Every character produces keydown, keypress, input, and keyup events. Args: instance_id (str): Browser instance ID. selector (str): CSS selector. text (str): Text to type. clear_first (bool): Clear fiel

  • paste_text

    Paste text instantly into an input field. Args: instance_id (str): Browser instance ID. selector (str): CSS selector or XPath. text (str): Text to paste. clear_first (bool): Clear field before pasting. Returns: bool: True if pasted successfully.

  • press_key

    Press a real key using trusted CDP key events. Sends Input.dispatchKeyEvent keyDown/keyUp pairs, so the page sees trusted events. Use this for control keys such as Enter, Tab, Escape, and the arrow keys in React-select, typeahead, and combobox widgets. Args: instance_id (str): Browser instance

  • file_upload

    Upload allowed local files to a <input type="file"> element via CDP DOM.setFileInputFiles. Resolves the actual file input even if the selector matches a wrapper element (Workday/Ashby/LinkedIn often hide the real input behind a styled button). Refuses multi-file upload when the input lacks the `mul

  • select_option

    Select an option from a dropdown. Args: instance_id (str): Browser instance ID. selector (str): CSS selector for the select element. value (Optional[str]): Option value attribute. text (Optional[str]): Option text content. index (Optional[Any]): Option index (0-based). Can be st

  • get_element_state

    Get complete state of an element. Args: instance_id (str): Browser instance ID. selector (str): CSS selector or XPath. Returns: Dict[str, Any]: Element state including attributes, style, position, etc.

  • wait_for_element

    Wait for an element to appear. Args: instance_id (str): Browser instance ID. selector (str): CSS selector or XPath. timeout (int): Timeout in milliseconds. visible (bool): Wait for element to be visible. text_content (Optional[str]): Wait for specific text content. Returns:

  • scroll_page

    Scroll the page. Args: instance_id (str): Browser instance ID. direction (str): 'down', 'up', 'left', 'right', 'top', or 'bottom'. amount (int): Pixels to scroll (ignored for 'top' and 'bottom'). smooth (bool): Use smooth scrolling. Returns: bool: True if scrolled successfully.

  • execute_script

    Execute JavaScript in page context. Args: instance_id (str): Browser instance ID. script (str): JavaScript code to execute. args (Optional[List[Any]]): Arguments to pass to the script. Returns: Dict[str, Any]: Script execution result.

  • get_page_content

    Get page HTML and text content. Args: instance_id (str): Browser instance ID. include_frames (bool): Include iframe information. Returns: Dict[str, Any]: Page content including HTML, text, and metadata.

  • take_screenshot

    Take a screenshot of the page. The image is returned as MCP image content with metadata. It is scaled down, keeping its aspect ratio, when it is wider than max_width, longer than 8000 pixels on a side, or too large to send inline. The metadata reports the original size and the scale used. Args:

  • list_network_requests

    List captured network requests. Args: instance_id (str): Browser instance ID. filter_type (Optional[str]): Filter by resource type (e.g., 'image', 'script', 'xhr'). Returns: Union[List[Dict[str, Any]], Dict[str, Any]]: List of network requests, or file metadata if response too large.

  • get_request_details

    Get detailed information about a network request. Args: request_id (str): Network request ID. Returns: Optional[Dict[str, Any]]: Request details including headers, cookies, and body.

  • get_response_details

    Get response details for a network request. Args: request_id (str): Network request ID. Returns: Optional[Dict[str, Any]]: Response details including status, headers, and metadata.

  • get_response_content

    Get response body content. Args: instance_id (str): Browser instance ID. request_id (str): Network request ID. Returns: Optional[str]: Response body as text (base64 encoded for binary).

  • search_network_requests

    Search network requests with advanced filters and pagination. Args: instance_id (str): Browser instance ID. url_pattern (Optional[str]): Filter by URL pattern (substring match). method (Optional[str]): Filter by HTTP method. status_code (Optional[int]): Filter by response status cod

  • export_network_data

    Export network data to JSON file. Args: instance_id (str): Browser instance ID. filepath (str): Path to save JSON file. Returns: bool: True if successful.

  • import_network_data

    Import network data from JSON file. Args: instance_id (str): Browser instance ID. filepath (str): Path to JSON file. Returns: bool: True if successful.

  • set_network_capture_filters

    Set resource type filters for network capture to reduce memory usage. Args: instance_id (str): Browser instance ID. include_types (Optional[List[str]]): Only capture these types (e.g., ['XHR', 'Fetch', 'Document']). exclude_types (Optional[List[str]]): Exclude these types (e.g., ['Image

  • get_network_capture_filters

    Get current network capture filters. Args: instance_id (str): Browser instance ID. Returns: Dict[str, List[str]]: Current filters with 'include' and 'exclude' lists.

  • modify_headers

    Modify request headers for future requests. Args: instance_id (str): Browser instance ID. headers (Dict[str, str]): Headers to add/modify. Returns: bool: True if modified successfully.

  • get_cookies

    Get cookies for current page or specific URLs. Args: instance_id (str): Browser instance ID. urls (Optional[List[str]]): Optional list of URLs to get cookies for. Returns: List[Dict[str, Any]]: List of cookies.

  • set_cookie

    Set a cookie. Args: instance_id (str): Browser instance ID. name (str): Cookie name. value (str): Cookie value. url (Optional[str]): The request-URI to associate with the cookie. domain (Optional[str]): Cookie domain. path (str): Cookie path. secure (bool): Secure flag.

  • clear_cookies

    Clear cookies. Args: instance_id (str): Browser instance ID. url (Optional[str]): Optional URL to clear cookies for (clears all if not specified). Returns: bool: True if cleared successfully.

  • get_debug_view

    Get comprehensive debug view with all logged errors and statistics. Args: max_errors (int): Maximum number of errors to include (default: 50). max_warnings (int): Maximum number of warnings to include (default: 50). max_info (int): Maximum number of info logs to include (default: 50).

  • clear_debug_view

    Clear all debug logs and statistics with timeout protection. Returns: bool: True if cleared successfully.

  • export_debug_logs

    Export debug logs to a file using the fastest available method with timeout protection. Args: filename (str): Name of the file to export to. max_errors (int): Maximum number of errors to export (default: 100). max_warnings (int): Maximum number of warnings to export (default: 100).

  • get_debug_lock_status

    Get current debug logger lock status for debugging hanging exports. Returns: Dict[str, Any]: Lock status information.

  • list_tabs

    List all tabs for a browser instance. Args: instance_id (str): Browser instance ID. Returns: List[Dict[str, str]]: List of tabs with their details.

  • switch_tab

    Switch to a specific tab by bringing it to front. Args: instance_id (str): Browser instance ID. tab_id (str): Target tab ID to switch to. Returns: bool: True if switched successfully.

Stealth Browser MCP is an open-source mcp server by vibheksoni, written mainly in Python. Stealth browser automation for AI agents over MCP and the Chrome DevTools Protocol: navigation, network hooks, DOM extraction, and pixel-accurate UI cloning.

At a glance

Stars
3.3k
Forks
409
Language
Python
License
MIT
Created
Aug 2025
Last update
Oct 26, 2026
Type
MCP Server
Price
Free

Topics

ai-agent-toolsai-toolsanthropicanti-bot-bypassautomation-toolsbrowser-automationchrome-devtoolsclaude-mcpcloudflare-bypassdeveloper-toolsfastmcpmcp-servermodel-context-protocolnetwork-interceptionnodriverpythonstealth-browserundetectable-browserweb-automationweb-scraping

Questions about Stealth Browser MCP

What is Stealth Browser MCP?

Stealth browser automation for AI agents over MCP and the Chrome DevTools Protocol: navigation, network hooks, DOM extraction, and pixel-accurate UI cloning.

Who maintains Stealth Browser MCP?

Stealth Browser MCP is maintained by vibheksoni on GitHub (vibheksoni/stealth-browser-mcp). AgenticMart lists it from public repository data.

Is Stealth Browser MCP safe to use?

AgenticMart scanned Stealth Browser MCP on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What license does Stealth Browser MCP use?

It is published under the MIT license.

Stealth Browser MCP alternatives

View more →

Similar mcp servers in Browser Automation, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Stealth Browser MCP (this page)
vibheksoni
3.3kMITOct 26, 2026Scanned, no flagged issues
Chrome Devtools MCP
ChromeDevTools
55kApache-2.0Nov 1, 2026Scanned, no flagged issues
Playwright MCP
microsoft
39kApache-2.0Oct 31, 2026Scanned, no flagged issues
MCP Chrome
hangwin
13kMITJan 6, 2026Scanned, no flagged issues
Browser Tools MCP
AgentDeskAI
7.3kMITOct 28, 2026Scanned, no flagged issues
MCP
BrowserMCP
7.3kApache-2.0Oct 30, 2026Scanned, no flagged issues