Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
作者提供的说明(英文原文)
Chrome automation via nodriver: 70 tools, isolated browsers, profiles and configurable startup.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
NODRIVER_HEADLESS, NODRIVER_USER_DATA_DIR, NODRIVER_BROWSER_PATH, NODRIVER_PROXY你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"nodriver": {
"command": "uvx",
"args": [
"nodriver-mcp"
],
"env": {
"NODRIVER_HEADLESS": "your-value",
"NODRIVER_USER_DATA_DIR": "your-value",
"NODRIVER_BROWSER_PATH": "your-value",
"NODRIVER_PROXY": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add nodriver --env NODRIVER_HEADLESS=your-value --env NODRIVER_USER_DATA_DIR=your-value --env NODRIVER_BROWSER_PATH=your-value --env NODRIVER_PROXY=your-value -- uvx nodriver-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"nodriver": {
"command": "uvx",
"args": [
"nodriver-mcp"
],
"env": {
"NODRIVER_HEADLESS": "your-value",
"NODRIVER_USER_DATA_DIR": "your-value",
"NODRIVER_BROWSER_PATH": "your-value",
"NODRIVER_PROXY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"nodriver": {
"type": "stdio",
"command": "uvx",
"args": [
"nodriver-mcp"
],
"env": {
"NODRIVER_HEADLESS": "your-value",
"NODRIVER_USER_DATA_DIR": "your-value",
"NODRIVER_BROWSER_PATH": "your-value",
"NODRIVER_PROXY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
NODRIVER_HEADLESS envNODRIVER_USER_DATA_DIR envNODRIVER_BROWSER_PATH envNODRIVER_PROXY env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 andresolbach 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(2.6.1)于23天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Browser Use, Chrome DevTools MCP, MCP Server Browser
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Give your AI agent a full Chrome workspace. Browse, fill forms, extract data and inspect the requests behind a page with 70 MCP tools, powered by nodriver. Keep your logins, run isolated browsers side by side, and pick up where you left off with automatic tab restoration. One-command setup for Claude, Claude Code, Cursor, Windsurf, Codex and other Model Context Protocol clients.
Keywords: MCP server · browser automation · undetected chromedriver · anti-bot · Cloudflare bypass · web scraping · Claude · Cursor · nodriver · chrome-devtools-mcp alternative · Playwright/Puppeteer alternative · AI agent tools.
undetected-chromedriver, uses CDP without Selenium or a ChromeDriver binary and is designed to reduce common automation signals.Explore the 70-tool reference, or get started with uvx nodriver-mcp.
Claiming "undetected" is easy, so here is what the standard fingerprint suite reports when this server drives the page itself. Reproduce it in one line: point your agent at https://bot.sannysoft.com and take a snapshot.
| Check | Result |
|---|---|
bot.sannysoft.com — Intoli + fingerprint suite | 58 checks, 0 failed |
navigator.webdriver | false — a boolean on Navigator.prototype, not an own property, exactly as in a normal browser |
window.chrome | present |
navigator.plugins | 5 |
navigator.languages | 4 entries |
| User agent | no Headless token |
Measured on Chrome 151 / Windows 11, headful, with the default profile. The current functional test suite uses Chrome 155 and nodriver 0.50.6. See Scope and limitations for how to interpret the fingerprint result.
cf_verify, needs the [cf] extra); success depends on the challenge and browser configuration.list_frames plus a frame argument on the readers, and take_snapshot splices each iframe's tree in under the element hosting it, so a payment field or consent wall inside one gets a uid and can be clicked and filled like anything else.capture_bodies captures matching responses from tabs, workers and service workers before later navigation or buffer eviction can discard them. A JSON index records URL, POST data, status and headers; search_bodies searches saved traffic. Capture status reports saved bodies, skips and errors.audit_security checks security headers (with a real CSP analysis: nonces, strict-dynamic, multiple policies), CORS, TLS and certificates of every origin, cookie flags, responses a CDN could serve to the wrong user, every first and third party the page talks to, and lists what Chrome's own Issues panel reports: CSP violations, mixed content, rejected cookies. inspect_storage inventories localStorage, sessionStorage, IndexedDB, Cache Storage and service workers, and decodes tokens it finds there. export_har writes everything to a HAR file for Burp, ZAP or DevTools — with the wire headers, Cookie and Set-Cookie included.browser: "agent-a" to any tool and that name gets its own Chrome, in its own process, with its own cookies, tabs and uids. Parallel agents stop stealing each other's selected tab. Omit it and nothing changes: the default browser runs in the server process, exactly as before. How it workstake_snapshot) — searchable page text with a uid per element. Measured on the Hacker News front page: 27 KB against 97 KB unfiltered, 72% smaller, with every link, URL and text preserved. Same-origin URLs are printed relative to the page, which is lossless because the root node keeps the absolute one. That saving lands on every single agent step.use_running_browser) — drive your real Chrome profile over its debugging port instead of rebuilding logins in a fresh one.fill reads the value back, set_checked reads the checked state back, and click, press_key and type_text report when no input event reached the page. A tool that cannot confirm what it did says so instead of reporting success.# Recommended: isolated install, won't touch your global Python environment
uv tool install nodriver-mcp
pip install nodriver-mcp
uvx nodriver-mcp
Requires uv for the first and third form. To track the development branch instead of a release:
uv tool install "nodriver-mcp @ git+https://github.com/andresolbach/nodriver-mcp-server.git@main"
Also listed in the official MCP Registry as io.github.andresolbach/nodriver-mcp-server, so clients and marketplaces that read the registry can find and install it directly.
Uses upstream
nodriver>=0.50.6, tested against Chrome 155.uv tool installkeeps dependencies isolated from your global Python environment.
You'll also need a local installation of Google Chrome (auto-detected).
uv tool upgrade nodriver-mcp
The automated suite runs schema, documentation and behavior checks plus real-browser integration tests. The current Windows browser test environment is Chrome 155 / nodriver 0.50.6 / Python 3.12.11. CI also runs the non-browser suite on macOS and Linux. Future Chrome or nodriver releases can require compatibility updates.
| Component | Requirement | Verified version |
|---|---|---|
| Python | 3.12+ | 3.12.11 |
| Google Chrome | any recent stable | 155.0.8059.79 |
| Operating system | Windows / macOS / Linux | Windows 11 |
nodriver | >= 0.50.6 | 0.50.6 |
mcp (MCP SDK) | >= 1.26.0, < 2 | 1.26.0 |
pillow | >= 12.1.1 | 12.1.1 |
tomli-w | >= 1.0.0 | 1.2.0 |
Runtime dependency ranges and tested versions are listed in requirements.txt. uv tool install creates an isolated installation; contributors can use uv sync --locked --group dev in this repository to reproduce the committed dependency set.
# Interactive client selector (terminal TUI)
nodriver-mcp install
nodriver-mcp install claude,cursor,kiro
nodriver-mcp uninstall claude
nodriver-mcp --list-clients
nodriver-mcp --config
nodriver-mcp install --scope project
Supported clients: Claude Desktop, Claude Code, Cursor, Windsurf, Codex, Gemini CLI, Copilot CLI, Kiro, VS Code, Cline, Roo Code, Amazon Q, Warp, Opencode, Trae.
The Claude Code VS Code extension shares Claude Code's config (
~/.claude.json), so installing toclaude-codecovers both the CLI and the extension.
If you'd rather paste it yourself, this works in any MCP client (claude_desktop_config.json, ~/.claude.json, .cursor/mcp.json, .mcp.json, …):
{
"mcpServers": { "nodriver": { "command": "uvx", "args": ["nodriver-mcp"] } } }
| Variable | Description | Default |
|---|---|---|
NODRIVER_HEADLESS | Headless mode (true/false) | false |
NODRIVER_USER_DATA_DIR | Explicit persistent Chrome profile dir (overrides the default) | Ephemeral temp profile, auto-deleted per session |
NODRIVER_BROWSER_PATH | Chrome executable path | Auto-detected |
NODRIVER_PROXY | Proxy server address | None |
NODRIVER_BROWSER_URL | Attach to a Chrome already running at this address (e.g. http://127.0.0.1:9222) instead of launching one | Launch our own |
NODRIVER_ENABLE_TRANSLATE | Set true to re-enable Chrome's Google Translate popup | Disabled |
NODRIVER_ENABLE_EXTENSIONS | Set true to allow externally-installed Chrome extensions (and their prompts) | Disabled |
By default the browser starts clean for automation: the Google Translate popup is suppressed and externally-installed Chrome extensions are blocked (so you don't get "an extension requires your attention" prompts). Re-enable either via the env vars above or at runtime with the `set_browser_flags` tool — whic
只显示了开头部分;其余内容请在仓库中阅读