专项能力 / Specialized

MCP 服务器

chrome-use mcp 起一个 stdio Model Context Protocol 服务器, 给那些只会说 MCP、不能跑 shell 命令的宿主用——Claude Desktop、ChatGPT connector、n8n、Dify。 能跑 shell 的编码 agent(Claude Code、Cursor、Codex)请继续用技能 + CLI:更轻量, 直接调用二进制不用绕一层协议。MCP 是专门留给「说 MCP 但不能 shell out」的那类宿主的。

ℹ️ 什么时候用哪个
能跑终端命令的 agent(Claude Code、Cursor、Codex、你自己的脚本)——直接装 CLI + 技能,跑 chrome-use snapshot -i 这类命令。 只能通过 MCP 协议接入、没有 shell 的宿主(Claude Desktop、ChatGPT connector、n8n/Dify 的 MCP 节点)——用这一页的 chrome-use mcp

12 个核心工具

MCP 服务器暴露一套精简的核心 profile:12 个有类型的工具,覆盖打开页面、 读取、快照、交互和导航。每一次工具调用都会转发给同一个 chrome-use 二进制的 --json 模式——底层能力和用 CLI 是完全一样的一套。

工具作用
chrome_use_open打开一个 URL / 新标签
chrome_use_read把当前标签或某个 URL 读成 agent 可读文本
chrome_use_snapshot拉取结构化、带 @ref 的可访问性快照
chrome_use_click按选择器 / @ref 点击
chrome_use_fill清空后填入表单字段
chrome_use_type在现有内容后追加输入
chrome_use_press按一个键或组合键
chrome_use_eval在页面里执行 JavaScript
chrome_use_wait等待某个条件或超时
chrome_use_back后退一页
chrome_use_forward前进一页
chrome_use_reload刷新当前页

扩展 profile:--tools all

默认的 12 个工具够大多数任务用了。需要更多能力时加 --tools all, 把 profile 从 12 个扩到24 个工具——核心 12 个之外,再加上下面这些 (仍不是完整的 CLI 全集):

工具作用
chrome_use_hover把鼠标悬停到某个元素上
chrome_use_select选中 <select> 下拉项
chrome_use_screenshot截图(仅作输出,不作为读取手段)
chrome_use_scroll滚动页面或某个容器
chrome_use_tabs列出 / 切换本会话的标签
chrome_use_extract按 schema 把页面抓成结构化 JSON
chrome_use_expect断言某个条件,不满足即报错
chrome_use_find按文本 / URL 定位元素或标签
chrome_use_network_route拦截 / 改写网络请求
chrome_use_site跑社区站点适配器做结构化提取
chrome_use_upload给文件输入框上传文件
chrome_use_download触发并抓取一次下载
bash
# 24 工具扩展 profile
$ chrome-use mcp --tools all

启动服务器

mcpchrome-use 的一个子命令,跟其他命令一样在 PATH 上就有。

bash
# 起一个 stdio MCP 服务器(宿主会替你拉起这个进程)
$ chrome-use mcp

在 Claude Desktop 里配置

编辑 Claude Desktop 的 MCP 配置文件,加一个 chrome-use server:

json · claude_desktop_config.json
{
  "mcpServers": {
    "chrome-use": {
      "command": "chrome-use",
      "args": ["mcp"]
    }
  }
}
✅ 找不到 chrome-use 命令?
如果 chrome-use 不在 Claude Desktop 启动时能看到的 PATH 上,把 command 换成二进制的绝对路径(例如 which chrome-use 的输出)。改完配置后重启 Claude Desktop 才会生效。
⚠️ 先分清传输方式:stdio vs HTTP
chrome-use mcp 只说 stdio——宿主拉起这个进程、用标准输入输出通信。 能按 command + args 拉起本地进程的宿主(Claude Desktop、n8n)直接接就行。 但 ChatGPT 的 connector 和 Dify 只认远程 HTTP/SSE 的 MCP 端点,不会替你拉起本地进程—— 它们连不了裸的 stdio 服务器,得先用一层桥把 stdio 转成 HTTP/SSE(见下)。

接入 n8n

n8n 的 MCP Client 节点能按命令拉起一个 stdio server,配置和 Claude Desktop 是同一套—— 命令填 chrome-use(或它的绝对路径),参数填 mcp

n8n · MCP Client (STDIO)
# Command
chrome-use
# Arguments(扩展 profile 就写 mcp --tools all)
mcp

接入 ChatGPT connector / Dify(需要 HTTP 桥)

这两个宿主只接受一个远程 MCP 端点的 URL,不会拉起本地进程。用一个 stdio→SSE 的桥 (比如 supergateway)把 chrome-use mcp 包成一个 HTTP/SSE 端点, 再把那个 URL 填进宿主的 MCP / connector 配置:

bash
# 把 stdio 服务器暴露成本机的 SSE 端点
$ npx -y supergateway --stdio "chrome-use mcp" --port 8000
# 端点:http://localhost:8000/sse —— 填进 connector / Dify 的 MCP 配置
ℹ️ 桥不是 chrome-use 的一部分
supergateway 是第三方通用工具,chrome-use 不捆绑它。ChatGPT connector 还要求端点 可被公网访问(本机地址得先过一层隧道),并且桥所在的机器要能连上你真实的 Chrome—— 因为最终干活的还是本机那套扩展 + 原生消息路径。

工作原理

MCP 服务器是手写的 JSON-RPC over stdio,没有引入额外依赖。每个工具 调用被翻译成对同一个 chrome-use 二进制的 --json 模式调用,再把结果 包回 MCP 的响应格式。安装、浏览器扩展连接、真实 Chrome 的那一整套逻辑完全不变—— MCP 只是换了一层协议外壳。

⚠️ 还是得先接上真实 Chrome
chrome-use mcp 本身不解决「怎么连你的浏览器」——那部分仍然靠 安装 里的浏览器扩展。先按那一页把扩展装好、确认能跑通 chrome-use snapshot -i,再把 MCP 服务器接进宿主。

会话隔离:session 参数

每个工具都收一个可选的 session 参数,映射到 CLI 的 --session <name>不传就都走同一个默认会话——同一个宿主里连续几次调用共享一个后台守护进程、 一组标签页,上一步的导航和登录状态下一步还在。要并行跑互不干扰的流程,就给不同的流程传不同的 session 名,各自拿到独立的守护进程和标签组。守护进程空闲 10 分钟自动退出并关掉自己 建的标签页(AGENT_BROWSER_IDLE_TIMEOUT_MS 可调,0 关闭)。

🪜 多步流程别一个动作一个来回
MCP 下每次工具调用都要模型推理一轮,逐个动词地驱动最费 token。固定序列可以用 batch 一个来回跑完;要在步骤之间传值、加循环和条件判断,用 单次脚本(script)——目前它是 CLI 动词、还没进 MCP 的工具集, 但在 MCP 里如果想把多步逻辑压进一次调用,可以走 chrome_use_eval 在页面里跑一段 JavaScript。原理见 单次脚本

相关页面