SuperAPI AI 工具集

nodriver-mcp-server

nodriver-mcp-server 是一个基于 nodriver 的浏览器自动化 MCP 服务器,作为 chrome-devtools-mcp 的隐蔽替代方案,供 Claude、Cursor 等 AI 智能体使用。它直接通过 CDP 协议驱动真实 Chrome,不依赖 ChromeDriver 二进制,因此 navigator.webdriver 返回 false,可绕过 Cloudflare、hCaptcha 及 WebDriver 指纹检测。服务器提供 70 个工具,覆盖导航、输入、无障碍树快照、截图、网络与控制台检查、设备模拟、Cookie/存储、会话与配置文件管理、性能追踪等,并支持同时运行多个隔离浏览器,避免并行智能体共享会话。

访问官网

工具介绍

用途

nodriver-mcp-server 是一个面向 AI 智能体的浏览器自动化 MCP 服务器,定位为 chrome-devtools-mcp 的隐蔽、抗反爬替代方案。它适用于 Claude、Claude Code、Cursor、Windsurf 以及任何支持 Model Context Protocol 的客户端。其核心目标是让智能体能够浏览、抓取和自动化真实 Chrome,而不触发 Cloudflare、hCaptcha 或 WebDriver 指纹检测。

主要能力

  • 隐蔽驱动:基于 nodriver(undetected-chromedriver 的继任者),直接使用 CDP 协议,不产生 ChromeDriver 二进制、Selenium/WebDriver 标记或 CDP 痕迹,navigator.webdriver 读取为 false。
  • 内置 Cloudflare 挑战处理:cf_verify 工具可处理常见的 Cloudflare 复选框挑战(需要 [cf] 额外依赖),但并非验证码解决服务。
  • 70 个工具:覆盖导航、输入、快照、截图、内容/PDF 导出、网络与控制台检查、设备模拟、Cookie/存储、会话、配置文件、性能追踪等。
  • 无障碍树快照:take_snapshot 生成紧凑的可搜索页面文本,每个元素带 uid。在 Hacker News 首页实测为 27 KB,相比未过滤的 97 KB 缩小 72%,同时保留所有链接、URL 和文本。
  • 网络日志:记录状态、响应头、DevTools 风格的时间分解(DNS、连接、TLS、首字节时间、下载)、发起请求的脚本与行号、传输大小、重定向跳转与失败,以及 WebSocket 帧和服务器发送事件。
  • 响应体捕获:capture_bodies 在响应到达时立即写入磁盘,覆盖所有标签页、worker 和 service worker,避免 Chrome 缓冲区或后续导航导致丢失;search_bodies 可查找某个值首次出现在哪个响应中以及由哪个请求发回。
  • 被动安全审查:audit_security 检查安全头(含真实 CSP 分析:nonce、strict-dynamic、多策略)、CORS、TLS 与证书、Cookie 标志、CDN 可能错误提供的响应、页面通信的第一方与第三方,并列出 Chrome Issues 面板报告的内容。inspect_storage 清点 localStorage、sessionStorage、IndexedDB、Cache Storage 和 service worker,并解码发现的令牌。export_har 导出 HAR 文件供 Burp、ZAP 或 DevTools 使用。
  • 多隔离浏览器:通过 browser 参数为每个工具指定名称,每个名称获得独立的 Chrome 进程、配置文件、Cookie、标签页和 uid,并行智能体不会互相干扰。默认浏览器运行在服务器进程内,不产生额外开销。最多可同时打开 12 个浏览器(含默认),每个额外浏览器约 200 MB 内存、约 1 秒启动。
  • 附加到已登录浏览器:use_running_browser 可通过调试端口驱动你已登录的真实 Chrome 配置文件,避免重建登录。
  • 设备模拟:支持 Pixel 7、iPad 等设备,带正确的 UA / client hints。
  • 自验证操作:fill 会读回值,set_checked 会读回勾选状态,click、press_key 和 type_text 在无输入事件到达页面时会报告。
  • 会话保存/恢复:跨运行持久化登录。
  • 临时配置文件:默认每个会话使用独立的临时 Chrome 配置文件(自动删除),因此 Claude Desktop、Claude Code 和 VS Code 可同时驱动 nodriver 而不冲突。命名持久配置文件可按需创建以复用登录。
  • 一键设置:支持 15+ MCP 客户端。

使用方式

安装需要 uv(第一和第三种形式)。也可使用 pip install,但推荐 uv tool install 以保持隔离。需要本地安装 Google Chrome(自动检测)。

在 MCP 客户端配置中粘贴以下内容(适用于 claude_desktop_config.json、~/.claude.json、.cursor/mcp.json、.mcp.json 等):

{
  "mcpServers": {
    "nodriver": {
      "command": "uvx",
      "args": ["nodriver-mcp-server"]
    }
  }
}

环境变量:默认浏览器启动时干净,抑制 Google 翻译弹窗并阻止外部安装的 Chrome 扩展。可通过环境变量或运行时 set_browser_flags 工具重新启用,该工具还可通过 extra_args 参数设置其他 Chrome 启动标志(如 --lang=de-DE、--window-size=1280,800)。浏览器在 Chrome 关闭或崩溃后会自动恢复。

Chrome 启动于 about:blank 而非新标签页,因此新标签页自身的 Google 请求不会出现在 list_network_requests 中,new_page 会复用该空白启动标签页。

manage_extensions 可在运行时管理扩展:list 列出已安装扩展及状态;on/off 主开关(--disable-extensions),重启 Chrome,覆盖未打包扩展;load/unload 加载或卸载文件夹中的未打包扩展。要永久使用扩展,需切换到持久配置文件,在该浏览器中从 Chrome 网上应用店安装一次并开启扩展。未打包扩展需要 Chromium 或 Chrome for Testing,因为官方 Chrome 构建在 v137 后移除了 --load-extension,截至 Chrome 151 无法恢复。可将 NODRIVER_BROWSER_PATH 指向 Chromium / Chrome for Testing。

多智能体多浏览器:每个工具接受可选 browser 参数,不存在的名称会即时创建。每个名称是独立进程中的独立 Chrome,拥有自己的配置文件、Cookie、标签页、快照 uid 和控制台/网络捕获。默认名称 "default" 在服务器进程内运行,不产生额外开销。两个调用者共享同一名称仍共享同一 Chrome,隔离是按浏览器而非按调用者。

持久配置文件:list_profiles 列出持久配置文件并显示活动项;create_profile(name, activate=false) 创建可复用配置文件;use_profile(name) 切换到持久配置文件("" / "temp" 返回临时);use_temp_profile 切换回新的临时配置文件;delete_profile(name) 删除持久配置文件。持久配置文件位于 ~/.nodriver-mcp/profiles/<name>。也可通过 NODRIVER_USER_DATA_DIR 环境变量全局强制固定配置文件。

附加到已登录浏览器:先自行启动 Chrome(带调试端口),然后通过 use_running_browser(port=9222) 运行时附加,或设置 NODRIVER_BROWSER_URL=http://127.0.0.1:9222 预先附加。附加期间,服务器不会关闭非其启动的浏览器。

适用场景

  • AI 智能体需要访问受 Cloudflare、DataDome、PerimeterX、Akamai、hCaptcha 等反爬保护的网站。
  • 网页抓取与自动化,且不希望被检测为自动化工具。
  • 需要并行运行多个智能体且各自拥有独立浏览器会话。
  • 需要复用已登录的 Chrome 配置文件进行自动化操作。
  • 需要网络检查、安全审查、存储清点或 HAR 导出的场景。

限制

  • 不解决图像或文本验证码。
  • 无法击败所有网站的所有保护。
  • 无法拯救对服务器造成高负载的抓取器;如果网站因行为而非身份阻止你,任何驱动都无法解决。
  • cf_verify 仅处理常见 Cloudflare 复选框挑战,不是验证码解决服务。
  • 未打包扩展加载需要 Chromium 或 Chrome for Testing,官方 Chrome 构建不支持。
  • 每个额外浏览器约 200 MB 内存,最多同时打开 12 个。
  • 需要本地安装 Google Chrome。
  • 使用上游 nodriver >=0.50.3,包含 Chrome 146+ CDP 修复,已在 Chrome 151 上验证。

测试版本

所有工具均针对 Google Chrome 151、nodriver 0.50.3、Python 3.12.11 / Windows 11 进行端到端测试(macOS 和 Linux 也支持)。pip 包/版本也列在 requirements.txt 中,但推荐 uv tool install 以获得完全固定、可复现的安装。