m5stack-chrome-browser-control

M5Stack | 通过 MCP chrome-devtools 协议控制用户本地 Chrome 浏览器,实现自动打开网页、操作任意 Outlook 邮箱、搜索内容等任务。使用前提:用户已在 Chrome 中开启远程调试(127.0.0.1:9222),且 OpenClaw MCP 已配置 chrome-devtools-mcp。触发场景:打开浏览器、控制 Chrome、查看邮件、自动化网页操作、浏览器自动化。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "m5stack-chrome-browser-control" with this command: npx skills add yuyun2000/m5stack-chrome-browser-control

M5Stack | Chrome 浏览器控制 Skill

通过 MCP 协议远程控制用户本地 Chrome 浏览器,完成网页访问、Outlook 邮件查看、内容搜索等自动化任务。


一、用户需要做的准备工作

第一步:在 Chrome 中开启远程调试

  1. 打开 Chrome 浏览器(普通版 Chrome,不是 Chrome Beta
  2. 在地址栏访问:chrome://inspect/#devices
  3. 在页面顶部找到 "Remote debugging" 开关,点击开启
  4. 确认页面显示:"Server running at: 127.0.0.1:9222"

⚠️ 每次重启 Chrome 后需要重新开启此开关。

第二步:配置 OpenClaw MCP

编辑 ~/.openclaw/openclaw.json(Windows 下为 C:\Users\<用户名>\.openclaw\openclaw.json)。

只在已有 JSON 对象中新增 mcp 字段,绝对不要修改或删除文件中其他已有字段(如 plugins、gateway 等),否则 OpenClaw 将无法启动。

{
  "(其他已有字段保持不变)": "...",
  "mcp": {
    "servers": {
      "chrome-devtools": {
        "command": "npx",
        "args": [
          "chrome-devtools-mcp@latest",
          "--autoConnect"
        ]
      }
    }
  }
}

⚠️ 严禁

  • 不能加 --channel=beta(会寻找 Chrome Beta 安装路径,必然失败)
  • 不能覆盖整个文件,只能新增 mcp 字段
  • 修改前建议备份原文件

配置完成后在终端运行 openclaw gateway restart 重启网关使配置生效。


二、MCP 工具说明

所有工具均来自 chrome-devtools-mcp,通过 chrome-devtools__* 前缀调用。

chrome-devtools__list_pages

列出当前浏览器所有打开的标签页,返回每个页面的 pageId 和 URL。

  • 用途:确认 MCP 是否连接成功;查找已登录的目标标签页
  • 成功标志:返回页面列表
  • 失败标志Could not find DevToolsActivePort → 用户未开启调试模式

chrome-devtools__select_page(pageId)

切换到指定标签页,后续操作将作用于该页面。

  • 用途:当浏览器有多个标签时,切换到目标标签(如已登录的 Outlook 或 X)

chrome-devtools__new_page(url)

新建标签页并导航到指定 URL。

  • 用途:打开一个全新页面

chrome-devtools__navigate_page(type, url)

在当前选中标签页中导航到指定 URL。

  • type="url" → 跳转到新地址
  • type="reload" → 刷新当前页
  • 用途:在已登录的标签页内跳转到目标页面(避免登录状态丢失)

chrome-devtools__take_snapshot()

获取当前页面的无障碍树(a11y tree),返回所有可见元素及其 uid

  • 用途:读取页面内容(邮件列表、推文、正文等);获取可交互元素的 uid 供后续点击/输入使用
  • 注意:页面加载中时需等待后再调用

chrome-devtools__click(uid)

点击页面中指定 uid 的元素。

  • 用途:打开邮件、点击按钮、展开折叠内容

chrome-devtools__fill(uid, value)

向指定 uid 的输入框填入文本。

  • 用途:填写搜索框、表单输入

chrome-devtools__wait_for(text)

等待页面出现指定文本后再继续。

  • 用途:等待页面加载完成,避免在未加载时读取空内容

chrome-devtools__take_screenshot()

截取当前页面截图(返回图片)。

  • 用途:当 snapshot 无法准确反映页面状态时,用截图辅助判断

三、常见任务流程

查看 Outlook 邮件(支持任意 Outlook 账号)

1. chrome-devtools__list_pages
   → 查找 URL 含 "outlook.cloud.microsoft" 的标签页

2. 若存在已登录标签:
   chrome-devtools__select_page(pageId=N)
   chrome-devtools__take_snapshot()
   → 读取收件箱邮件列表

3. 若不存在:
   chrome-devtools__new_page(url="https://outlook.cloud.microsoft/mail/")
   → 提示用户手动登录,完成后告知 AI 继续

4. 点击目标邮件:
   chrome-devtools__click(uid="邮件元素uid")
   chrome-devtools__take_snapshot()
   → 读取邮件正文

搜索 X(Twitter)内容

⚠️ X 无法在未登录状态下访问:必须依赖浏览器中已保存的登录 Cookie,不能从零打开登录页。

1. chrome-devtools__list_pages
   → 查找已登录 X 的标签页(URL 含 "x.com")

2. 若存在:
   chrome-devtools__select_page(pageId=N)
   chrome-devtools__navigate_page(type="url", url="https://x.com/search?q=关键词&f=live")
   chrome-devtools__wait_for(text="推文关键词或用户名")
   chrome-devtools__take_snapshot()
   → 读取推文列表并总结

3. 若不存在:
   → 提示用户先在浏览器手动登录 X,完成后告知 AI 继续

四、故障排查

问题原因解决方法
Could not find DevToolsActivePortChrome 未开启调试重新在 chrome://inspect 开启远程调试
Could not find Chrome Beta executableMCP 含 --channel=beta去掉该参数,重启网关
gateway closed (1008): pairing requiredOpenClaw 网关配对失效重启 OpenClaw 或重新配对
Outlook 跳转到产品宣传页浏览器未登录或标签错误list_pagesoutlook.cloud.microsoft 标签并 select_page
X 跳转到登录页未登录或 Cookie 失效用户手动在浏览器登录 X 后告知 AI
页面内容为空页面尚未加载完成先调用 wait_for 等待关键文字出现

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Cloudflare Manager

Manage Cloudflare DNS records, Tunnels (cloudflared), and Zero Trust policies. Use for pointing domains, exposing local services via tunnels, and updating in...

Registry SourceRecently Updated
Coding

Node Red Manager

Manage Node-RED instances via Admin API or CLI. Automate flow deployment, install nodes, and troubleshoot issues. Use when user wants to "build automation", "connect devices", or "fix node-red".

Registry SourceRecently Updated
Coding

Yt Dlp

A robust CLI wrapper for yt-dlp to download videos, playlists, and audio from YouTube and thousands of other sites. Supports format selection, quality control, metadata embedding, and cookie authentication.

Registry SourceRecently Updated
Coding

Daily Dev Agentic

daily.dev Agentic Learning - continuous self-improvement through daily.dev feeds. Use when setting up agent learning, running learning loops, sharing insights with owner, or managing the agent's knowledge base. Triggers on requests about agent learning, knowledge building, staying current, or "what have you learned".

Registry SourceRecently Updated