Skip to main content
Glama

Chrome MCP Stealth

用于通过 Chrome DevTools Protocol 进行隐身浏览器自动化的 MCP 服务器。连接到真实的 Chrome 实例,并使用类人交互模式(贝塞尔曲线鼠标轨迹、高斯打字延迟、滚动抖动)以避免机器人检测。

为什么

标准的浏览器自动化工具(Playwright、Puppeteer、Selenium)很容易被现代反机器人系统检测到。网站通过指纹识别鼠标移动(直线、瞬间传送)、打字模式(均匀延迟)以及 JavaScript 属性(navigator.webdriver、缺失的插件)来阻止自动化访问。

Chrome MCP Stealth 通过在 Playwright 与真实 Chrome 实例的 CDP 连接之上叠加类人行为来解决这个问题——不是无头浏览器,也不是全新的配置文件,而是你带有 Cookie、扩展程序和历史记录的真实浏览器。

功能

  • 隐身模式:贝塞尔曲线鼠标移动、高斯按键延迟、滚动抖动、反检测 JS 补丁

  • 快速模式:无延迟的即时操作——适用于非受保护的域名

  • 安全性:针对提示词注入、数据泄露和凭据泄露的 4 层防御

  • 单文件:整个服务器是一个 index.js 文件(约 630 行)

隐身原理

鼠标移动遵循带有随机控制点的三次贝塞尔曲线,产生自然的弧线而不是直线。每次移动使用 12-50 个插值步骤,具有缓入缓出计时和偶尔的过冲校正。

打字使用高斯分布的按键间延迟(平均约 75ms),在标点符号后有额外的停顿,并每约 10 个字符进行一次周期性的“思考停顿”——模拟人类的打字节奏。

滚动被分解为带有稳定延迟的抖动多步增量,避免了标记自动化的瞬间跳转。

反检测补丁移除 navigator.webdriver,从 window 中清理 Playwright/Selenium 工件,并注入真实的 chrome.runtime 和插件存根。

请参阅 ARCHITECTURE.md 了解完整的实现细节。

安全模型

  1. 提示词注入扫描器 — 20 多种正则表达式模式可检测页面内容中的指令覆盖尝试、社会工程学和数据泄露命令

  2. 内容清理 — 在返回页面文本之前剥离隐藏/不可见的元素,防止通过零尺寸或屏幕外元素进行注入

  3. 内容聚焦 — 所有页面内容都被包裹在 <EXTERNAL_CONTENT trust="untrusted"> 标签中,并带有安全页脚

  4. 域名控制 — 云元数据端点被完全阻止;银行/电子邮件域名会触发警告;仅限隐身的域名强制执行隐身模式

此外,所有输出都会被扫描凭据模式(API 密钥、令牌、JWT)并在返回前进行脱敏处理。

工具 (11)

工具

用途

chrome_set_mode

在隐身/快速模式之间切换

chrome_navigate

导航到 URL

chrome_snapshot

获取清理后的辅助功能树

chrome_screenshot

截取 PNG 截图

chrome_click

点击元素(隐身模式下使用贝塞尔鼠标)

chrome_type

输入文本(隐身模式下使用高斯延迟)

chrome_tabs

列出/切换/创建/关闭标签页

chrome_evaluate

在页面上下文中运行 JS(输出已脱敏)

chrome_wait

等待选择器或超时

chrome_scroll

向上/向下滚动(隐身模式下有抖动)

chrome_page_info

获取当前 URL、标题、域名风险

设置

  1. 使用 CDP 启动 Chrome:

    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
      --remote-debugging-port=9222 \
      --user-data-dir=~/.chrome-debug-profile
  2. 安装并运行:

    npm install
    npm start
  3. 在你的 MCP 配置中注册:

    {
      "chrome-stealth": {
        "command": "node",
        "args": ["path/to/chrome-mcp/index.js"],
        "env": { "CDP_ENDPOINT": "http://127.0.0.1:9222" }
      }
    }

仅限隐身的域名

LinkedIn (linkedin.com, www.linkedin.com) 强制执行隐身模式——快速模式被阻止。这在 5 个层面强制执行:导航、模式切换、每次交互、重定向后和标签页切换。

依赖

  • @modelcontextprotocol/sdk — MCP 协议实现

  • playwright-core — Chrome DevTools Protocol 连接

许可证

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Riaan-Fourie/chrome-mcp-stealth'

If you have feedback or need assistance with the MCP directory API, please join our Discord server