Token导航 LogoToken导航

MCP Server · 浏览器工具

Cdp Browser MCP

一个基于Chrome原生Accessibility API的浏览器自动化服务,提供高效的页面快照和交互功能。

未说明官方级别未说明来源级核验工具 17
浏览器自动化JavaScriptClaude

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
echo-lumen
提供方
echo-lumen

工具数量

17

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Cdp Browser MCP 属于浏览器工具类 MCP Server,公开资料标注 17 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前先确认权限范围。

分类

浏览器工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 17 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

cdp浏览器mcp

用于浏览器自动化的MCP服务器,使用Chrome的原生Accessibility API而不是注入的JavaScript。返回 整页 在单个紧凑的快照中-- 代币数量减少3.3倍 比chrome devtools mcp和 减少4.6倍 比剧作家MCP。

一 cdp_navigate 该调用返回一个紧凑的DOM,其中每个交互式元素都已索引,可以单击、键入和读取。

为什么存在

LLM驱动的浏览器自动化存在令牌问题。每个页面快照都会占用上下文窗口。我们对8种页面类型的5个浏览器工具进行了基准测试:

工具中位数代币整页?备注
浏览器使用 (80K+颗星)每个视口约2000个仅限视口需要滚动调用才能查看整页
浏览器自动驾驶仪 /cdp浏览器mcp~3,800整页在1次调用中完成DOM
chrome开发工具mcp (谷歌,28K+星)~10900整页详细AX树格式
剧作家MCP~17400整页YAML ariaSnapshot格式

浏览器使用 具有最小的每个视口大小,因为它仅过滤视口可见元素。但是当你需要整个页面时,滚动会很快。我们通过滚动浏览每个页面的浏览器使用情况并求和所有视口快照来衡量实际的整页成本:

页面浏览器使用情况(整页)cdp浏览器mcp(1次调用)比率
维基百科66067(19卷)7,0929.3倍以上
YouTube50544(4个卷轴)†3,96112.8倍以上
鞋带26295(9卷)3,7057.1倍以上
英国广播公司新闻15624(7卷)4,2883.6倍以上
数据表8874(4个卷轴)2,3323.8倍以上
GitHub问题874 (适合视口)4006浏览器使用获胜
排除绘图986(适合视口)2823.5倍以上
example.com28(适合视口)31~相同

†YouTube具有无限滚动功能——为了进行公平比较,我们限制了4个视口(初始页面高度)。

浏览器使用在适合单个视口的页面上获胜(GitHub Issues)。对于其他所有内容,尤其是内容丰富或无限滚动的页面,全页面方法使用的总令牌要少得多。

cdp浏览器mcp 在一次调用中为您提供整个页面——当您需要查看或搜索整个页面时,这是最具令牌效率的方法。建立在 浏览器自动驾驶仪,它通过CDP读取Chrome的辅助功能树,并将其压缩为紧凑的索引格式。没有JavaScript注入,没有DOM遍历,没有SVG噪声。

快速开始

1.安装

git clone https://github.com/echo-lumen/cdp-browser-mcp.git
cd cdp-browser-mcp
npm install

2.在启用CDP的情况下启动Chrome浏览器

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  --remote-debugging-port=9222 \
  --user-data-dir=/tmp/chrome-debug-profile \
  --no-first-run --no-default-browser-check "about:blank" &

在Linux上:

google-chrome --remote-debugging-port=9222 \
  --user-data-dir=/tmp/chrome-debug-profile \
  --no-first-run --no-default-browser-check "about:blank" &

3.添加到MCP配置中

克劳德代码 (~/.claude/mcp.json):

{
  "mcpServers": {
    "cdp-browser": {
      "command": "node",
      "args": ["/path/to/cdp-browser-mcp/server.mjs"],
      "env": {
        "CDP_URL": "http://127.0.0.1:9222"
      }
    }
  }
}

克劳德桌面 (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "cdp-browser": {
      "command": "node",
      "args": ["/path/to/cdp-browser-mcp/server.mjs"],
      "env": {
        "CDP_URL": "http://127.0.0.1:9222"
      }
    }
  }
}

工具(17)

导航

工具说明
cdp_navigate转到URL。返回DOM快照。
cdp_go_back导航回去。返回DOM快照。
cdp_reload重新加载页面。返回DOM快照。

读取页面状态

工具说明
cdp_snapshot获取当前索引的DOM。
cdp_screenshot截图(PNG或JPEG)。
cdp_page_text获取 document.body.innerText.填补可访问性树遗漏散文/传记文本的空白。

交互

工具说明
cdp_click点击元素 [N] 指数。
cdp_type按以下方式键入元素 [N] 指数。每个字符的关键事件(适用于React/Vue)。
cdp_press_key按键盘键(Enter、Escape、Tab等)。
cdp_scroll向上或向下滚动。
cdp_click_at在x、y坐标处单击。

标签页

工具说明
cdp_tabs列出、打开、切换或关闭选项卡。

高级

工具说明
cdp_evaluate执行任意JavaScript。
cdp_handle_dialog接受或取消警报/确认/提示。
cdp_wait等待N秒。
cdp_wait_for_url等待URL包含子字符串
cdp_element_html按索引获取元素的HTML。

DOM快照的工作原理

每个变异工具都会自动返回更新的DOM。交互式元素被索引:

heading "Example User Verified account"
[46] button "Profile Summary"
[47] button "Search"
[48] button "Following @example_user"
article "Example User @example_user Mar 6 Just published a new blog post about..."
[98] button "41 Replies. Reply"
[99] button "29 reposts. Repost"
[100] button "545 Likes. Like"

使用 [N] 索引与 cdp_click 或 cdp_type。非交互式内容(标题、文章、文本)是根据上下文显示的,但不会浪费索引。

基准测试

方法论

所有基准测试都在同一台机器(Mac Mini、Chrome 145)上运行,所有5个工具都通过端口9222上的CDP连接到同一个Chrome实例。相同的视口大小(1309×1309px),相同的页面,相同的会话。

这些数字衡量的是什么: 每个工具都返回页面的文本表示(可访问性树、DOM快照或YAML)。我们使用以下方法对每个原始快照进行标记 令牌。 (cl100k_base 编码)。下表中的所有令牌计数为 真实标记器输出,而不是估计。

该基准测试的早期版本使用字符÷4作为粗略的代理。实际的标记化显示,根据工具的格式,这种低估率为4-20%——带括号的结构化文本、短属性名和数字的标记效率低于散文。工具之间的比率也发生了变化,因为每种格式的令牌化速率不同(例如,浏览器使用平均为3.3个字符/令牌,cdp浏览器mcp平均为3.6,chrome devtools mcp平均值为3.2)。

如何捕获快照: 导航到URL→ 等待2-3秒加载页面→ 捕获工具的DOM/可访问性表示。每个工具都使用自己的序列化格式(请参见 格式比较 在......下面

整页滚动测试(仅限浏览器使用): 浏览器使用仅返回页面的视口可见部分。为了衡量查看整个页面的总成本,我们一次向下滚动一个视口高度,重新捕获每个位置的状态,并对所有视口快照进行求和。这就是使用浏览器的LLM代理在读取整个页面时实际会消耗的内容。对于无限滚动页面(YouTube),我们将滚动限制在初始页面高度,以保持比较的公平性。

每个快照结果(8种页面类型,2026-03-07)

所有值都是用tiktoken测量的令牌 cl100k_base.browser使用情况显示了每个视口和整页成本(所有滚动位置的总和):

#页面类型浏览器使用情况(视口)浏览器使用(整页)cdp浏览器mcpchrome devtools mcpPlaywright mcp
1维基百科(静态文章)269866067(19个卷轴)7,09267,94658,138
2数据表(数据表)22658874(4个卷轴)2,3328,9609,632
3Excalidraw(画布应用程序)9809862821,0751,553
4GitHub问题(React SPA)8998744,0069,61617,597
5YouTube(iframe重)1151050544(4个卷轴)†3,96112,24617,161
6鞋带(网络组件)232026295(9个卷轴)3,70512,12017,739
7example.com(最小值)2828319887
8英国广播公司新闻(新闻+广告)181915624(7卷)4,28813,23220,798

†YouTube有无限滚动功能——当你滚动时,新内容会延迟加载。为了进行公平的比较,我们限制了4个视口(覆盖了最初的4318px页面高度)。

cdp浏览器mcp是一个精简的mcp包装器 browser-autopilots CDPBrowser --它们生成相同的快照(通过在所有8个页面上独立运行这两个快照进行验证)。MCP层增加了零令牌开销。

浏览器使用整页成本: 当您需要查看整个页面时,浏览器使用每个视口的优势就会消失。维基百科在19个滚动页面上花费了6600个令牌,而在单个cdp浏览器mcp调用中花费了7000个令牌(9.3x)。YouTube在4个卷轴上的成本为51K,而4K(12.8倍)。浏览器使用仅在适合单个视口的页面上获胜(GitHub问题:874 vs 4006)。

cdp浏览器mcp与chrome开发工具mcp: 中位数 代币数量减少3.3倍范围为2.4倍至9.6倍。

cdp浏览器mcp vs剧作家mcp: 中位数 代币数量减少4.6倍,范围为2.8倍至8.2倍。

为什么会有差异?

相同的Chrome实例,相同的页面——不同之处在于每个工具对页面的序列化方式:

工具它捕获了什么输出格式
浏览器使用仅视口可见元素,按绘制顺序过滤,100个字符的文本上限[N] --类似HTML的语法
浏览器自动驾驶仪/cdp浏览器mcp通过CDP建立完整的页面可访问性树[N] role "name" --紧凑索引格式,文本内联
chrome开发工具mcp通过Puppeteer查看完整的页面可访问性树uid= 每个节点上的前缀,单独 StaticText 儿童
剧作家MCP全文通过剧作家 ariaSnapshot()YAML与 [ref=] 嵌套缩进标签

笔记:

  • 亚马逊屏蔽了cdp浏览器mcp和chrome devtools mcp(反机器人),但加载了浏览器使用(5368个令牌)。GitHub登录/仪表板因身份验证状态而异。两者都不包括在交叉工具比率中。
  • chrome devtools mcp具有此处未测试的其他功能(性能跟踪、Lighthouse审计、网络检查、设备仿真)。
  • 浏览器使用还有其他未在此处测试的功能(自主代理循环、验证码解决、带屏幕截图的视觉模式)。

反机器人检测

浏览器指纹识别: 所有5个工具都经过了相同的测试 bot.sannysoft.com (30/30通行证)和Cloudflare旋转栅门:

信号结果(所有工具)
navigator.webdriverfalse
Chrome对象存在是
插件数量5
Sannysoft通过率30/30
Cloudflare旋转栅门挑战显示

在指纹识别级别没有隐形优势——它们都是真正的Chrome。

现实世界反机器人(亚马逊): 在最初的基准测试运行中,亚马逊向cdp浏览器mcp、chrome devtools mcp和Playwright mcp提供了一个503错误页面(“对不起!出了点问题!”),但加载了完整的搜索结果供浏览器使用。所有四个工具都连接到 相同的Chrome实例 通过CDP。

我们分别重新测试了亚马逊,所有工具(包括cdp浏览器mcp)都顺利加载了整个页面。最初的封锁很可能 基于速率:对同一页面快速连续运行5个工具会触发亚马逊的请求率检测,运行的订单工具会确定谁被阻止(浏览器使用先运行)。

结论:基本指纹测试(sannysoft、Cloudflare)显示所有工具都是相同的。像亚马逊这样的现实世界的反机器人系统增加了服务器端的速率限制,这可能会根据测试条件产生不一致的结果,但没有任何工具具有固有的优势。

原始基准数据(JSON结果+示例快照)可在 benchmarks/ 目录。

何时改用其他工具

浏览器使用 (80K星以上):

  • 您需要一个自主代理,通过LLM循环驱动浏览器(而不仅仅是MCP工具)
  • 您更喜欢仅视口快照(每次调用较小,但需要滚动)
  • 您需要内置的验证码解决方案或基于视觉的交互
  • 您正在构建一个Python管道,而不是使用Claude Code/Desk

chrome开发工具mcp (谷歌,28K星以上):

  • 您需要性能分析、Lighthouse审计或内存快照
  • 您需要网络请求检查或设备模拟
  • 您正在调试web应用程序,而不是为LLM代理自动执行浏览器任务

剧作家MCP:

  • 端口9222上的Chrome未运行(Playwright推出了自己的浏览器)
  • 您需要Playwright特有的功能,如文件上传或表单填写助手

运作原理

此服务器是一个精简的MCP包装 browser-autopilots CDPBrowser 类,它通过Chrome DevTools协议读取Chrome的可访问性树。关键的见解是:Chrome已经为屏幕阅读器计算了一个语义可访问性树。我们只是阅读Chrome已经知道的内容,而不是注入JavaScript来遍历DOM并猜测哪些元素是交互式的。

结果是一个紧凑、准确的页面表示,它自然地过滤掉了SVG路径、隐藏元素和装饰性包装——正是这些噪声增加了其他工具的令牌计数。

基于浏览器自动驾驶

功能cdp浏览器mcp浏览器自动驾驶
CDP浏览器控制17个MCP工具完整的CDPBrowser类+25+代理工具
紧凑型AX树快照是(全部要点)是(这就是它的来源)
自主代理循环否(您是代理)是——通过Vercel AI SDK驱动的多步LLM
X11回退(Linux)否是--当CDP被阻止时,真正的鼠标/键盘
登录编排否是--缓存会话、CDP登录、X11回退
验证码解决否是——Capsolver,2Captcha集成
文件上传/粘贴否是-- upload_file, paste_content, paste_image
Docker/云部署否是--Xvfb,noVNC,容器化

如果你需要克劳德代码/克劳德桌面/光标的MCP接口,请使用此服务器。如果您需要无头管道或经过身份验证的工作流的完整自主代理框架,请使用 browser-autopilot 直接。

npm install browser-autopilot ai zod
import { CDPBrowser, runAgent } from "browser-autopilot";

const browser = new CDPBrowser();
await browser.connect();

const { result, success } = await runAgent({
  browser,
  task: "Go to wikipedia.org and find the population of Tokyo.",
});

许可证

麻省理工学院

工具与能力

工具数量

17

资源数量

0

提示词数量

0

能力标签

浏览器自动化JavaScript本地部署页面快照交互工具ChromeDevToolsLLM驱动

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 工具数量 17 个,一次接入能覆盖的操作比单点工具更全。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Cdp Browser MCP

MCP World · 本页

17未说明未标注1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Cdp Browser MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Cdp Browser MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Cdp Browser MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Cdp Browser MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Cdp Browser MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP