Chrome 扩展 · MCPv1.5.0 · MIT

你的编程智能体,就在你日常用的 Chrome 里。

一个 Chrome 扩展加一个小型本地 MCP 服务器。Claude Code、Codex、OpenCode 或 Cursor 可以读取你打开的标签页、点击、填写表单、运行脚本和截图,用的是你已登录的账号,而不是另开一个无头浏览器。它工作时,页面会发光并告诉你正在做什么。

  • 只在 127.0.0.1 上运行
  • 无遥测
  • 免费开源

使用示例数据的回放。光晕和状态岛使用扩展本身的样式和文字绘制(扩展界面只有英文和俄文)。

工作原理

智能体 → 本地服务器 → 你的标签页。

智能体通过 stdio 把它当作普通 MCP 服务器启动。扩展在你自己的电脑上连接它,并在标签页里完成操作。

  1. 你的智能体Claude Code、Codex CLI、OpenCode、Cursor,任何 MCP 客户端。
  2. 本地 MCP 服务器Node.js,由智能体启动。监听 127.0.0.1:47615。
  3. Chrome 扩展只连接这个端口。显示光晕和状态岛。
  4. 你的标签页你打开的页面,带着你的 Cookie 和登录状态。

多个会话,一个浏览器

每个智能体会话启动自己的服务器进程。第一个成为中枢(hub),其余作为对等端(peer)加入;中枢所在会话结束后,大约一秒内由另一个接替。

你总能看到

智能体在标签页中操作时,页面边缘会呼吸般发出绿光,底部的状态岛说明正在做什么。它从不拦截点击,最后一次调用后片刻就会淡出。

失败也清清楚楚

Chrome 没开?调用会立即失败并给出明确错误。每个请求有 15 秒超时,点击和跳转绝不会在背后自动重试。

工具

十二个浏览器工具。

它们在智能体中显示为 browser_*(在 Claude Code 中为 mcp__webmcp__browser_*)。

读取看到你看到的。
  • browser_list_tabs所有打开的标签页:id、标题、url、哪个处于活动状态。
  • browser_get_page_info标签页的 id、标题和 url。
  • browser_get_page_content页面的可见文本或完整 HTML。
  • browser_query_selector匹配 CSS 选择器的元素:标签、文本、属性。
  • browser_get_console_logs标签页缓存的 console.* 输出和未捕获的错误。
操作做你会做的。
  • browser_navigate在标签页中打开一个 URL。
  • browser_click点击匹配选择器的第一个元素。
  • browser_fill设置 input、textarea 或 contenteditable 的值,并触发 input/change。
  • browser_upload_files把本地文件放进 <input type=file>。
脚本、截图、状态其余工具。
  • browser_execute_script在页面中运行 JavaScript 并返回结果,即使网站启用了严格 CSP。
  • browser_screenshot可见区域的 PNG 截图,截图时隐藏叠加层。
  • browser_connection_status扩展是否已连接;是中枢还是对等端;有多少会话。

每个工具都有可选参数 tabId;不传时使用最后获得焦点的窗口中的活动标签页。

安装

三步完成安装。

从 GitHub 获取代码,安装服务器,在 Chrome 中加载扩展。

Chrome 应用商店:稍后上架。

需要 Node.js 22+ 和 Chrome(其他支持扩展的 Chromium 浏览器应该也可以)。想自己配置客户端?用 npm install --ignore-scripts。

  1. 1

    安装服务器

    git clone https://github.com/glmn-ai/neurosquad-browser-mcp.gitcd neurosquad-browser-mcp/servernpm install

    npm install 还会给它找到的每个 MCP 客户端(Claude Code、Codex CLI、OpenCode、Cursor)添加一个 webmcp 条目。它从不覆盖已有条目,并保留一份 .bak 副本。之后请重启这些客户端。

  2. 2

    加载扩展

    在上架 Chrome 应用商店之前,请以未打包方式加载:

    • 打开 chrome://extensions
    • 开启右上角的“开发者模式”
    • 点击“加载已解压的扩展程序”,选择 extension/ 文件夹
    • 把 NeuroSquad Browser MCP 固定到工具栏
  3. 3

    让智能体试试

    在 Chrome 中打开一个页面,然后试试:

    • > 用浏览器工具告诉我当前页面上有什么
    • > 点击“提交”按钮
    • > 在搜索框里输入 "hello",再把控制台错误给我看
适用于

任何支持 MCP 的智能体。

安装程序会配置下面四个客户端。手动配置时,添加一个名为 webmcp 的 stdio 服务器,用 Node 运行服务器的 src/index.js。

配置文件:~/.claude.json
claude mcp add --scope user webmcp -- node /path/to/neurosquad-browser-mcp/server/src/index.js

把路径换成你克隆仓库的位置。

隐私与安全

它在你真实的浏览器里操作。具体如下。

这正是它的用途,也是连接智能体之前需要了解它能做什么的原因。

在你已登录的标签页里,你能做的事,智能体都能做

读邮件、点按钮、提交表单。只连接你信任的智能体,并留意绿色光晕。

留在你电脑上的部分

  • 扩展只连接一个地方:ws://127.0.0.1:47615。没有分析、没有遥测、没有远程代码;字体和图标都打包在扩展内。
  • 中枢只监听 127.0.0.1。网页会被拒绝(只接受 chrome-extension:// 来源);其他会话需要 ~/.webmcp/peer-token 中的随机 256 位令牌。
  • 控制台日志保存在中枢的内存中,按标签页存放且有上限。

它防不住的事

  • 智能体如何处理页面文本和截图(包括是否发送给它的模型提供商),由该智能体决定。
  • 扩展不验证服务器身份:以你的用户身份运行的任何程序都可能在该端口启动一个服务器。设置 WEBMCP_EXTENSION_IDS,只接受你自己的那份扩展。

如何停止

  • 结束智能体会话:客户端关闭时它的服务器会退出,光晕随之消失。
  • 在 chrome://extensions 中关闭扩展,这样任何程序都碰不到你的标签页。
  • 从客户端配置中删除 webmcp 条目,智能体就不会再启动服务器。

每项权限及其用途

来自扩展的 manifest。
<all_urls>
智能体会在你打开的任何页面上工作,所以扩展需要能读取并在任何网站上运行脚本。
scripting
读取页面、点击、填写、运行脚本、绘制光晕和状态岛。
debugger
仅用于 CSP 禁止 eval 的页面上的脚本,以及文件输入框。只在该次调用期间附加到一个标签页,随后立即分离;期间 Chrome 会显示提示栏。
tabs
列出标签页、跳转、为截图切换到某个标签页。
activeTab
截取可见的标签页。
storage
记住你在弹出窗口中设置的端口。
alarms
每 30 秒唤醒一次 service worker,以便重新连接服务器。

常见问题

它在 Chrome 应用商店里吗?

还没有,稍后上架。目前请在 chrome://extensions 中开启开发者模式,以未打包方式加载 extension/ 文件夹。拉取新版本后,在扩展卡片上点重新加载,并重启智能体会话。

会有数据离开我的电脑吗?

扩展只和 127.0.0.1 上的服务器通信,服务器只和启动它的智能体通信。没有遥测。智能体可能会把读取到的内容发送给它的模型提供商,这取决于你使用的智能体。

它适用于哪些智能体?

任何能运行 stdio 服务器的 MCP 客户端。安装程序会自动配置 Claude Code、Codex CLI、OpenCode 和 Cursor;NeuroSquad 和 nsq 中的智能体使用同样的配置。

为什么用我自己的 Chrome,而不是无头浏览器?

因为很多工作都在你的登录之后:staging 控制台、管理后台、你正在调试的 Web 应用。智能体看到的就是你看到的页面,包括控制台错误,而你可以看着它操作。

可以同时运行多个智能体吗?

可以。每个会话启动自己的服务器进程;它们通过中枢共享与扩展的同一个连接,状态岛会出现在正在被操作的标签页中。

它以前叫 WebMCP?

是的,在 1.4.0 中改名。配置键仍然是 webmcp,工具名称、端口 47615、WEBMCP_* 变量和令牌文件都没有变,已有安装可以继续使用。

让智能体看到你正在看的页面。

MIT 许可,免费开源。仅在本机运行。

在 NeuroSquad 中并排运行多个智能体 或在终端里用 nsq