Token导航 LogoToken导航

MCP Server · 浏览器工具

Chrome Dev Control

一组可通过Bash调用的Chrome DevTools脚本工具集,用于AI代理进行页面导航、截图、点击和检查等操作,无需复杂配置。

stdio官方级别未说明来源级核验工具 0playwright
浏览器自动化开发工具JavaScriptClaude命令行工具

快速开始

作者 / 组织
nicobailon
提供方
nicobailon
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

3

仓库热度

收录来源

1 个

MCP World

选型结论

Chrome Dev Control 属于浏览器工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

浏览器工具

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

npx playwright test # NEVER use Playwright

客户端配置示例

{
  "mcpServers": {
    "chrome-dev-control": {
      "command": "npx",
      "args": [
        "playwright",
        "test",
        "#",
        "NEVER",
        "use",
        "Playwright"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

chrome开发控制

用于AI代理的Bash可调用Chrome DevTools脚本。导航、截图、点击、检查——无需MCP设置。

16个CLI工具,用于页面管理、DOM交互、屏幕截图、控制台/网络检查和性能跟踪。

对人工智能代理至关重要

这些是自定义的CLI包装器,而不是标准的npm包。切勿使用剧作家、木偶师或硒。

# CORRECT - invoke directly
chrome-navigate.js "http://localhost:3000"
chrome-snapshot.js

# WRONG - don't do these
node chrome-navigate.js          # No 'node' prefix
npx playwright test              # NEVER use Playwright
npm install puppeteer            # NEVER install browser libs

设置

  1. 克隆/下载到您的首选位置
  2. 安装依赖项:
cd ~/agent-tools/chrome-dev-control
npm install
  1. 添加到PATH ~/.zshrc 或 ~/.bashrc:
export PATH="$HOME/agent-tools/chrome-dev-control:$PATH"
  1. 重新加载外壳:
source ~/.zshrc
  1. 验证:
chrome-navigate.js --help

先决条件:

  • 运行带有DevTools的Chrome浏览器可访问
  • Node.js 18+

如何调用这些工具

对代理人至关重要:这些是PATH中的可执行脚本。当通过Bash工具调用时:

对的:

chrome-snapshot.js
chrome-click.js "submit-btn"
chrome-navigate.js "https://example.com"

不正确:

node chrome-snapshot.js          # Don't use 'node' prefix
./chrome-snapshot.js             # Don't use './' prefix

快照(最重要)

chrome-snapshot.js
chrome-snapshot.js --verbose
chrome-snapshot.js --file /tmp/snapshot.txt

拍摄可访问性树快照。返回所有交互所需的元素UID。

总是先跑这个。 单击、填充、拖动等操作需要快照中的UID。

选项:

  • --verbose:包括完整的树详细信息
  • --file PATH:保存到文件而不是stdout

截图

chrome-screenshot.js --file /tmp/page.png
chrome-screenshot.js --full --file /tmp/full.png
chrome-screenshot.js --uid "hero-image" --file /tmp/element.png
chrome-screenshot.js --format jpeg --quality 85 --file /tmp/page.jpg

捕获视口、整页或特定元素。

选项:

  • --full:完整的可滚动页面(不仅仅是视口)
  • --uid ID:按UID捕获特定元素
  • --file PATH:保存到文件(必填)
  • --format FMT:png、jpeg、webp(默认值:png)
  • --quality N:jpeg/webp为0-100

屏幕截图大小限制: Claude API的最大图像尺寸为8000像素。对于长页面,请使用 chrome-split-image.js 分割成可查看的部分。

全屏截图的工作流程:

# 1. Take full-page screenshot
chrome-screenshot.js --full --file /tmp/full-page.png

# 2. Check dimensions / split if needed
chrome-split-image.js /tmp/full-page.png

# 3. View each section (output will list created files)
# Files: /tmp/full-page-1.png, /tmp/full-page-2.png, etc.

点击

chrome-click.js "submit-btn"
chrome-click.js "folder-icon" --double
chrome-click.js "dropdown-menu" --hover

单击、双击或悬停在元素上。

选项:

  • --double:双击
  • --hover:仅悬停(无点击)

填充

chrome-fill.js "email-input" "user@example.com"
chrome-fill.js "country-select" "United States"
chrome-fill.js --form '[{"uid":"email","value":"a@b.com"},{"uid":"pass","value":"secret"}]'

填写输入、文本区域或选择下拉菜单。

选项:

  • --form JSON:一次填写多个字段

钥匙

chrome-keys.js "Enter"
chrome-keys.js "Escape"
chrome-keys.js "Control+A"
chrome-keys.js "Control+Shift+R"
chrome-keys.js "ArrowDown"

按键盘键或组合键。

修改器: Control, Shift, Alt, Meta

滚动

chrome-scroll.js down
chrome-scroll.js down 1000
chrome-scroll.js up 300
chrome-scroll.js top
chrome-scroll.js bottom
chrome-scroll.js page-down
chrome-scroll.js page-up
chrome-scroll.js --to "footer"
chrome-scroll.js --to "section-3" --instant

滚动页面或至特定元素。

方向:

  • down [px]:向下滚动(默认值:500px)
  • up [px]:向上滚动(默认值:500px)
  • top:跳到页面顶部
  • bottom:跳到页面底部
  • page-down:向下滚动一个视口高度
  • page-up:向上滚动一个视口高度

元素滚动:

  • --to :将元素滚动到视图中(平滑)
  • --to --instant:滚动元素进入视图(即时)

导航

chrome-navigate.js "https://example.com"
chrome-navigate.js --back
chrome-navigate.js --forward
chrome-navigate.js --reload
chrome-navigate.js --reload --no-cache
chrome-navigate.js --new "https://google.com"
chrome-navigate.js --list
chrome-navigate.js --select 0
chrome-navigate.js --close 1
chrome-navigate.js --wait "Login successful"
chrome-navigate.js --resize 1920 1080

浏览页面并管理浏览器选项卡。

导航:

  • ``:转到URL
  • --back:历史回顾
  • --forward:历史前进
  • --reload:重新加载(添加 --no-cache 绕过缓存)
  • --wait :等待文本出现

页面管理:

  • --new :打开新选项卡
  • --list:列出打开的页面
  • --select :按索引选择页面
  • --close :按索引关闭页面
  • --resize W H:设置视口大小

Eval(JavaScript)

chrome-eval.js '() => document.title'
chrome-eval.js '() => window.location.href'
chrome-eval.js '() => document.querySelectorAll("a").length'
chrome-eval.js 'async () => await fetch("/api").then(r => r.json())'

在页面上下文中执行JavaScript。必须返回JSON可序列化值。

使用元素args:

chrome-eval.js '(el) => el.innerText' --args '[{"uid":"heading"}]'
chrome-eval.js '(el) => el.getBoundingClientRect()' --args '[{"uid":"hero"}]'

控制台

chrome-console.js
chrome-console.js --types error,warn
chrome-console.js --preserved --limit 50
chrome-console.js --get 42

列出或检索浏览器控制台消息。

选项:

  • --types LIST:筛选器(日志、错误、警告、信息、调试等)
  • --preserved:包括最近3次导航
  • --limit N:最大消息数
  • --get :获取特定消息

网络

chrome-network.js
chrome-network.js --types xhr,fetch
chrome-network.js --preserved --limit 100
chrome-network.js --get 123
chrome-network.js --get              # Get selected in DevTools

列出或检索网络请求。

选项:

  • --types LIST:过滤器(xhr、fetch、文档、脚本、图像等)
  • --preserved:包括最近3次导航
  • --limit N:最大请求数
  • --get [id]:获取请求详细信息(省略DevTools选择的id)

模仿

chrome-emulate.js --network "Slow 3G"
chrome-emulate.js --network "Offline"
chrome-emulate.js --network "No emulation"
chrome-emulate.js --cpu 4
chrome-emulate.js --geo 37.7749 -122.4194
chrome-emulate.js --geo-clear

模拟设备条件。

网络: Offline, Slow 3G, Fast 3G, Slow 4G, Fast 4G, No emulation

CPU: 减速系数1-20(1=无油门)

地理位置: 纬度(-90至90),经度(-180至180)

演出

chrome-perf.js --start --reload --auto-stop
chrome-perf.js --start --reload
chrome-perf.js --stop
chrome-perf.js --insight "set-123" "LCPBreakdown"

性能跟踪和核心Web生命周期。

选项:

  • --start:开始跟踪

- --reload:启动时重新加载页面 - --auto-stop:自动停止录制

  • --stop:结束跟踪
  • --insight :分析洞察力(DocumentLatency、LCP分解等)

分割图像(用于大屏幕截图)

chrome-split-image.js /tmp/full-page.png
chrome-split-image.js /tmp/full-page.png --max-height 5000
chrome-split-image.js /tmp/full-page.png --output /tmp/sections
chrome-split-image.js /tmp/full-page.png --info

将大屏幕截图拆分为符合API大小限制(8000px)的部分。

选项:

  • --max-height N:每节最大高度(默认值:7500px)
  • --output DIR:输出目录(默认:与输入相同)
  • --info:只显示尺寸,不要拆分

输出: 创建 filename-1.png, filename-2.png等,并列出以便于查看。

其他工具

chrome-drag.js "item" "drop-zone"     # Drag and drop
chrome-upload.js "input" "/path.pdf"  # File upload
chrome-dialog.js --accept             # Accept alert/confirm
chrome-dialog.js --accept "text"      # Accept prompt with text
chrome-dialog.js --dismiss            # Dismiss dialog

代币效率最佳实践

  1. 先快照:始终运行 chrome-snapshot.js 在交互之前获取UID
  2. 批量操作:使用 chrome-fill.js --form 适用于多个字段
  3. 目标截图:使用 --uid 只捕捉你需要的东西
  4. 筛选器控制台/网络:使用 --types 减少产量
  5. 高效滚动:使用 chrome-scroll.js page-down 用于快速导航

工作流示例

# 1. Navigate to page
chrome-navigate.js "https://example.com/login"

# 2. Get element UIDs
chrome-snapshot.js

# 3. Fill login form
chrome-fill.js --form '[{"uid":"email","value":"user@example.com"},{"uid":"password","value":"secret"}]'

# 4. Click submit
chrome-click.js "submit-btn"

# 5. Wait for redirect
chrome-navigate.js --wait "Dashboard"

# 6. Take screenshot
chrome-screenshot.js --file /tmp/dashboard.png

故障排除

“找不到命令”错误

# Check if tools are in PATH
which chrome-navigate.js

# If not found, add the directory to PATH
echo 'export PATH="$HOME/agent-tools/chrome-dev-control:$PATH"' >> ~/.zshrc
source ~/.zshrc

“图像尺寸超过最大值”错误

整页截图可能超过克劳德的8000倍限制。将它们分成几个部分:

# Take full-page screenshot
chrome-screenshot.js --full --file /tmp/full-page.png

# Split into viewable sections
chrome-split-image.js /tmp/full-page.png

# Output: /tmp/full-page-1.png, /tmp/full-page-2.png, etc.
# Read each section to view the entire page

无法连接到Chrome

确保Chrome在可访问DevTools的情况下运行。工具使用 @anthropic-ai/chrome-devtools-mcp 通过麦克波特。

未安装mcporter

npm install -g mcporter

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

浏览器自动化JavaScript本地部署AI工具DevToolsCLI工具页面管理

支持客户端

Claude

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

典型使用场景

自动操作网页

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

抓结构化数据

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

走一遍关键流程

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

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

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

MCP World · 本页

0stdio有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 条

Chrome Dev Control 怎么安装?

公开资料给出的安装命令是 npx playwright test # NEVER use Playwright,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Chrome Dev Control 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Chrome Dev Control 收费吗?

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

Chrome Dev Control 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Chrome Dev Control 支持哪些客户端?

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

来源信息

继续浏览同类 MCP