Stealth MCP Server

Undetectable browser automation for AI agents via the Model Context Protocol.

Local serverstdioPython

What is the Stealth MCP server?

Undetectable browser automation for AI agents via the Model Context Protocol. Exposed over MCP by the stealth mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.

What it actually does

A self-contained stealth Chrome DevTools MCP server with smart profile management, anti-detection stealth arg filtering, and robust process lifecycle handling. Built on nodriver (CDP-based) for full anti-bot evasion.

  • Undetectable by anti-bot systems — — Cloudflare, DataDome, PerimeterX, etc
  • Smart profile management — — master/snapshot/clone strategy preserves logins across sessions
  • Stealth arg filtering — — automatically strips 30+ detectable Chrome flags (Puppeteer/Playwright signatures, automation markers)
  • Multi-instance support — — spawn and manage multiple browsers simultaneously
  • A shared backend across sessions — — every client session proxies to a shared
  • Auto-suffix busy profiles — — github-session auto-becomes github-session-2 when occupied

Its toolset

Everything the assistant can do here goes through one of these:

  • spawn_browser — Launch a new stealth browser instance
  • navigate — Navigate to a URL
  • take_screenshot — Capture page screenshot
  • execute_script — Run JavaScript in page context
  • query_elements — Find DOM elements by CSS selector
  • click_element — Click on an element
  • type_text — Type text into an input
  • get_page_content — Get page HTML content
  • list_instances — List all active browser instances
  • close_instance — Close a specific browser
  • list_network_requests — View intercepted network traffic

Configuration

You will need 3 environment variables: DATABASE_URL, SENTRY_DSN, STEALTH_CHROME_PROFILE_KEY. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • Python 3.11+ - Chrome, Chromium, or Microsoft Edge - uv (recommended) or pip - A desktop session for headed browsing (headless works from SSH, CI, and services)

Adding it to your client

Installation goes through your MCP client rather than a global install: point it at stealth-chrome-devtools-mcp on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

When to reach for it

Among the browser automation options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Stealth's toolset — spawn_browser, navigate, take_screenshot and 8 more — is a fair guide to whether it matches your workflow.

This entry was verified against Stealth's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 11 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Stealth.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the stealth mcp server does with a few real requests.

Available tools

ToolWhat it does
spawn_browserLaunch a new stealth browser instance
navigateNavigate to a URL
take_screenshotCapture page screenshot
execute_scriptRun JavaScript in page context
query_elementsFind DOM elements by CSS selector
click_elementClick on an element
type_textType text into an input
get_page_contentGet page HTML content
list_instancesList all active browser instances
close_instanceClose a specific browser
list_network_requestsView intercepted network traffic

How to install the Stealth MCP server

{
  "mcpServers": {
    "stealth-chrome-devtools-mcp": {
      "command": "uvx",
      "args": ["stealth-chrome-devtools-mcp==2.0.6"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Python 3.11+ - Chrome, Chromium, or Microsoft Edge - uv (recommended) or pip - A desktop session for headed browsing (headless works from SSH, CI, and services)
VariableDescriptionRequired
DATABASE_URLEndpoint or connection string the server talks to.Yes
SENTRY_DSNEndpoint or connection string the server talks to.Yes
STEALTH_CHROME_PROFILE_KEYCredential the server authenticates with.Yes

Example prompts to try

  • Use Stealth to spawn browser.
  • Use Stealth to navigate.
  • Use Stealth to take screenshot.

Frequently asked questions

It connects Stealth to MCP-compatible AI assistants such as Claude and Cursor, exposing 11 tools (spawn_browser, navigate, take_screenshot, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Stealth directly.