看护人MCP
AI代理的隐形浏览器自动化 一 模型上下文协议 服务器将CloakBrowser的反检测功能与Playwright MCP风格的架构相结合。
CloakBrowser是一个源代码级修补的Chromium,通过了Cloudflare Turnstile、reCAPTCHA v3(0.9分)、FingerprintJS、BrowserScan和30多个机器人检测服务。
为什么选择CloakBrowser MCP?
| 功能 | 剧作家MCP | CloakBrowser MCP |
|---|---|---|
| 反检测 | ❌ 无 | ✅ 源修补铬 |
| Cloudflare旁路 | ❌ | ✅ |
| reCAPTCHA v3 | ❌ | ✅ 0.9分 |
| 先快照 | ✅ | ✅ |
| Markdown提取 | ❌ | ✅ 可读性风格 |
| 带注释的屏幕截图 | ❌ | ✅ 浏览器使用样式 |
| 智能页面结算 | 基础 | ✅ MutationObserver+网络空闲 |
| 自动重试点击 | ❌ | ✅ |
| 人性化输入 | ❌ | ✅ 鼠标曲线、键盘计时 |
| 能力门控 | ✅ --上限 | ✅ --帽子 |
快速开始
安装
pip install cloakbrowsermcp与Claude Desktop一起使用
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"cloakbrowser": {
"command": "cloakbrowsermcp"
}
}
}与VS代码/光标一起使用
增添 .vscode/mcp.json:
{
"servers": {
"cloakbrowser": {
"command": "cloakbrowsermcp",
"args": ["--caps", "all"]
}
}
}与Hermes代理商一起使用
增添 ~/.hermes/config.yaml:
mcp_servers:
cloakbrowser:
command: cloakbrowsermcp
args: ["--caps", "all"]
timeout: 120运作原理
快照优先架构
CloakBrowser MCP使用 可访问性树快照 作为人工智能模型理解网页的主要方式——不是截图,也不是原始HTML。
1. cloak_launch() → Start stealth browser
2. cloak_navigate(pid, url) → Go to page (auto-waits for settle)
3. cloak_snapshot(pid) → Get interactive elements with [@eN] refs
4. cloak_click(pid, '@e5') → Click element by ref
5. cloak_type(pid, '@e3', 'hello') → Type into input
6. cloak_read_page(pid) → Get content as clean markdown
7. cloak_close() → Done每个交互元素都有一个 [@eN] ref ID。所有交互工具都使用这些ref——不需要CSS选择器。
查看页面的三种方法
cloak_snapshot()--可访问性树[@eN]参考文献。快速、廉价、可靠。 用这个。cloak_read_page()--清洁标记提取。阅读内容,而不是互动。cloak_screenshot()--带有元素索引的带注释屏幕截图。用于视觉背景(图像、图表、验证码)。
默认隐身
所有防检测功能 默认情况下为ON:
- 源代码修补的Chromium二进制文件(不是Playwright补丁——实际的Chromium-源代码修改)
- 类人鼠标曲线、键盘计时和滚动模式(
humanize=True) - 隐形指纹参数(一致画布、WebGL、音频指纹)
- 基于GeoIP的时区/区域设置检测的代理支持
工具
核心工具(20-始终可用)
| 工具 | 说明 |
|---|---|
cloak_launch | 启动隐形浏览器(所有防检测功能均已开启) |
cloak_close | 关闭浏览器并释放资源 |
cloak_snapshot | 主要的 --可访问性树 [@eN] 参考文献 |
cloak_click | 按引用单击元素(自动重试) |
cloak_type | 通过ref输入(带提交选项) |
cloak_select | 按参照选择下拉选项 |
cloak_hover | 通过ref将鼠标悬停在元素上 |
cloak_check | 按ref选中/取消选中复选框 |
cloak_read_page | 页面内容为干净的标记 |
cloak_screenshot | 带有元素索引的带注释屏幕截图 |
cloak_navigate | 转到URL(自动等待结算) |
cloak_back | 返回历史记录 |
cloak_forward | 在历史中向前导航 |
cloak_press_key | 按键盘键 |
cloak_scroll | 向上/向下滚动页面 |
cloak_wait | 等待页面稳定 |
cloak_evaluate | 在页面中执行JavaScript |
cloak_new_page | 打开新页面/选项卡 |
cloak_list_pages | 列出所有打开的页面 |
cloak_close_page | 关闭特定页面 |
功能门控工具(通过启用 --caps)
启用 cloakbrowsermcp --caps network,cookies,pdf,console 或 --caps all.
| 工具 | 功能 | 描述 |
|---|---|---|
cloak_network_intercept | 网络 | 阻止/模拟/传递请求 |
cloak_network_continue | 网络 | 删除拦截规则 |
cloak_get_cookies | cookies | 获取所有cookies |
cloak_set_cookies | cookies | 设置cookies |
cloak_pdf | 将页面另存为pdf | |
cloak_console | console | 获取浏览器控制台输出 |
配置
CLI选项
cloakbrowsermcp [--caps CAPS] [--transport {stdio,sse}] [--port PORT]--caps:逗号分隔功能:network,cookies,pdf,console,all--transport:MCP传输--stdio(默认)或sse--port:SSE传输端口(默认值:8931)
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
CLOAKBROWSER_LOG_LEVEL | INFO | 日志级别 |
CLOAKBROWSER_LOG_FILE | ~/.cloakbrowser/logs/server.log | 日志文件路径 |
CLOAKBROWSER_LOG_STDERR | false | 同时登录到stderr |
启动选项
cloak_launch(
headless=True, # False for headed mode (some sites require it)
proxy="http://...", # Residential proxy recommended
humanize=True, # Human-like input (ON by default)
stealth_args=True, # Stealth fingerprints (ON by default)
timezone="America/New_York",
locale="en-US",
geoip=False, # Auto-detect from proxy IP
fingerprint_seed="my-identity", # Consistent fingerprint across sessions
user_data_dir="/path", # Persistent profile
)建筑
cloakbrowsermcp/
├── server.py # FastMCP server, tool registration, error handling
├── session.py # Browser lifecycle, page management, ref storage
├── snapshot.py # Accessibility tree JS, ref resolution
├── markdown.py # Readability-style HTML-to-markdown extraction
├── vision.py # Annotated screenshots with element indices
├── waiting.py # Smart wait, page settle, retry logic
├── stealth.py # Stealth config inspection
├── network.py # Network intercept, cookies (capability-gated)
├── __init__.py
└── __main__.py设计原则
- 先快照 --工具说明指导模型使用
cloak_snapshot()作为主要的页面理解工具 - 仅基于参考 --没有CSS选择器工具。所有互动均通过
[@eN]快照中的引用 - 默认情况下隐藏 --防探测、人性化和隐形参数均开启,无需配置
- 操作后自动快照 --单击、键入、导航全部返回更新的快照
- 智能等待 --导航时自动等待(网络空闲+MutationObserver稳定),点击失败时自动重试
- 能力门控 --默认情况下,高级工具(网络、Cookie、PDF)处于关闭状态,以保持工具数量低
- 清洁内容物提取 --Markdown用于阅读,快照用于交互,带注释的截图用于视觉
发展
git clone https://github.com/overtimepog/CloakMCP
cd CloakMCP
pip install -e ".[dev]"
pytest许可证
阿帕奇-2.0
