@askjo/camofox-browser-mcp

中文文档
1.18.1发布于 2026/10/05MITES Module构建来源已验证近 30 天下载 2200

独立stdio MCP服务器曝光相机-浏览器REST API作为MCP工具(Claude Code, Codex, agy, Cursor, opencode). 已运行的 Camofox- 浏览器 REST 服务器的代理 —— 本身不需要浏览器二进制, Playwright, 或核心 ser

中文使用文档
文档目录16 节
  1. 建筑
  2. 1. 启动REST服务器
  3. 2. 安装 camofox-browser-mcp 选项
  4. 3. 与东道国登记
  5. 克劳德代码
  6. 代码 CLI
  7. 反重力/ 阳性
  8. 光标
  9. 打开代码
  10. 常见: env vars 从源回落
  11. 4. 核实
  12. 工具
  13. 工作流程
  14. 环境变量
  15. 解决问题
  16. 测试(开发者)

camofox-浏览器 MCP 服务器

一个独立的 示范背景协议 服务器将相机-浏览器暴露于任何MCP相容的主机——克洛德码(Claude Code),Cursor等,而不需要OpenClaw.

它映射出现有的 OpenClaw 插件 1:1 (中文(简体) ):相同的11个工具名,相同的JSON-Schema参数,以及相同的REST路由. 无论是代理通过OpenClaw还是MCP到达相模克,行为都是一样的.

MCP服务器的初始实施由下列因素促成: @epicagas (西班牙语)。 。 。 .

建筑

MCP服务器是Camofox REST服务器上的一个瘦小的stdio客户端. 两块:

  • REST 服务器 (单位:千美元)server.js)——发射Camoufox,曝光HTTP API上 :9377运行 一次它会保持上升.
  • MCP 服务器 (单位:千美元)mcp/server.mjs,暴露为 camofox-browser-mcp bin)——将MCP工具调用翻译为REST调用. 克劳德代码产出一个 每届会议。 。 。 .

注册 MCP 服务器 没有 需要进入相机浏览器的检查。 下面的例子从任何目录中都可以找到.

mcp/ 也是一个 可独立安装的软件包 (单位:千美元)@askjo/camofox-browser-mcp本身 package.json) (中文(简体) ). 只能靠什么 @modelcontextprotocol/sdk 没有 camoufox-js, (中文(简体) ), playwright-core, (中文(简体) ), express,或核心服务器所拉入的~300MB浏览器二进制下载. 工具名、 JSON-Schema 参数、 REST 路由和响应形状定义 mcp/lib/tool-contracts.mjs单人包里装的 OpenClaw 插件 (PDF)plugin.ts)导入同一种犬形模块,因此两个主机无法漂移. 见 备选案文D 下方仅需要MCP适配器(例如指向) CAMOFOX_BASE_URL 在 REST 服务器运行到其他地方.

1. 启动REST服务器

克隆回波并启动服务器( 第一次运行时一次性二进制下载) :

git clone https://github.com/jo-inc/camofox-browser && cd camofox-browser
npm install   # downloads Camoufox (~300MB) on first run
npm start     # → http://localhost:9377

这仍然在背景中运行。 之后就不用你来管了.

2. 安装 camofox-browser-mcp 选项

MCP服务器对每个主机都是一样的——不同之处只是您粘贴的配置文件. 首先,让 camofox-browser-mcp 在您的路径上可用 bin 。 选一:

# Option A — npm link (if you have the source checkout; picks up local edits)
cd camofox-browser && npm link

# Option B — global install (no source checkout needed)
npm install -g @askjo/camofox-browser

# Option C — npx (no install; runs the published standalone adapter)
#   Use this wherever a command is expected below.
npx -y @askjo/camofox-browser-mcp

# Option D — MCP adapter only, no core server deps (lightest footprint)
#   Skips camoufox-js/playwright-core/express and the browser binary download —
#   use this if a camofox-browser REST server is already running (locally or
#   remotely) and you only need the stdio adapter.
git clone https://github.com/jo-inc/camofox-browser && cd camofox-browser/mcp
npm install   # installs only @modelcontextprotocol/sdk (~24MB, no postinstall)
npm link      # camofox-browser-mcp now resolves from any directory

从任何目录校验本解析 :

which camofox-browser-mcp   # → .../bin/camofox-browser-mcp

3. 与东道国登记

所有5个主机都说标准MCP,所以都运行相同 camofox-browser-mcp 宾. 在下面选择您的主机配置片段 .

克劳德代码

# CLI (user scope = available in every project)
claude mcp add camofox-browser -s user -- camofox-browser-mcp

或进入 ~/.claude.json (用户)/ .mcp.json (项目,入帐):

{
  "mcpServers": {
    "camofox-browser": {
      "command": "camofox-browser-mcp"
    }
  }
}

代码 CLI

~/.codex/config.toml (用户)或 .codex/config.toml (项目,只信任的迪尔斯):

[mcp_servers.camofox-browser]
command = "camofox-browser-mcp"
env = { CAMOFOX_BASE_URL = "http://localhost:9377" }

反重力/ 阳性

全球 ~/.gemini/config/mcp_config.json 或工作空间 .agents/mcp_config.json数字 :

{
  "mcpServers": {
    "camofox-browser": {
      "command": "camofox-browser-mcp"
    }
  }
}

光标

全球 ~/.cursor/mcp.json 或项目 .cursor/mcp.json (填写如下):

{
  "mcpServers": {
    "camofox-browser": {
      "command": "camofox-browser-mcp"
    }
  }
}

(或取自UI:设置 光标设置 MCP 添加新MCP服务器

打开代码

opencode.json 项目根,或全局 ~/.config/opencode/opencode.json数字 :

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "camofox-browser": {
      "type": "local",
      "command": ["camofox-browser-mcp"]
    }
  }
}

常见: env vars 从源回落

如果您需要 cookie 导入或非默认的 REST URL, 请添加 env 。 Claude 代码示例:

claude mcp add camofox-browser -s user \
  --env CAMOFOX_BASE_URL=http://localhost:9377 \
  --env CAMOFOX_API_KEY=<key> \
  -- camofox-browser-mcp

对于其他主机,请在 env 编号 : environment 该主机的片段.

从源回落 (除非你进入了出票环节 且没有链接到本站):

# Replace `camofox-browser-mcp` with `node /absolute/path/to/mcp/server.mjs`
claude mcp add camofox-browser -- node /Users/you/src/camofox-browser/mcp/server.mjs

总是喜欢 camofox-browser-mcp bin(以上选项A/B/C/D)。 这个 node ./mcp/server.mjs 窗体为 路径依赖 ——取出外的相对路径中断.

4. 核实

东道主如何核实
克劳德代码/mcp —— 说 camofox-browser 显示已连接
代码 CLIcodex 然后检查 MCP 服务器列表
不错/mcp 覆盖在 agy 国 际
光标设置 — MCP — 服务器显示绿色
打开代码opencode mcp list

您应该看到11个工具 : camofox_create_tab, (中文(简体) ), camofox_snapshot, (中文(简体) ), camofox_click, (中文(简体) ), camofox_type, (中文(简体) ), camofox_navigate, (中文(简体) ), camofox_scroll, (中文(简体) ), camofox_screenshot, (中文(简体) ), camofox_evaluate, (中文(简体) ), camofox_list_tabs, (中文(简体) ), camofox_close_tab, (中文(简体) ), camofox_import_cookies。 。 。 .

工具

工具目的
camofox_create_tab打开 URL = 返回 tabId
camofox_snapshot无障碍快照 + 元素 refs (e1, (中文(简体) ), e2,.) + 截图
camofox_navigate转到 URL 或者说 使用搜索宏( e)@google_search, (中文(简体) ), @reddit_search, (...) (中文(简体) )
camofox_click按元素 ref 点击 (e1)或 CSS 选择器
camofox_type将文本输入参考/选择器, 可选 pressEnter
camofox_scroll按像素滚动(在懒惰的页面上不可靠——偏好) camofox_evaluate(中文(简体) )
camofox_screenshot独立截图
camofox_evaluate在页面背景中运行JS——提取数据,调用页面API,滚动通过 window.scrollTo
camofox_list_tabs在此会话中列出打开的标签
camofox_close_tab关闭标签
camofox_import_cookies导入 Netscape cookie 文件( 需要) CAMOFOX_API_KEY(中文(简体) )

工作流程

每一次互动都遵循同样的形状—— 动作前的快照数字 :

  1. create_tab({ url }) → tabId
  2. snapshot({ tabId }) − 元素参考(e1, (中文(简体) ), e2, (...) (中文(简体) )
  3. click编号 :type 使用这些参考文献
  4. snapshot 再次读取新状态
  5. close_tab 完成时

元素 refs 清晰且首选于 CSS 选择器 — 一个匹配多个元素返回的选取器 422 strict mode violation,在此情况下重拍并点击 ref.

环境变量

瓦尔默认目的
CAMOFOX_BASE_URLhttp://localhost:9377REST 服务器 URL
CAMOFOX_USER_IDmcp-<random>会话隔离( 一个 MCP 服务器 = 一个相片会话)
CAMOFOX_SESSION_KEYdefault用户内的标签分区
CAMOFOX_ACCESS_KEY(未设定)全球无记名符号 给 REST 服务器( 超级密钥) 配角 。 如果设定,转发为 Authorization: Bearer <key> 打开 每个 自动调用工具 —— 必须匹配 REST 服务器本身 CAMOFOX_ACCESS_KEY。如果没有此选项, 全球认证的 REST 服务器将拒绝除 cookie 导入以外的所有工具调用 .
CAMOFOX_API_KEY(未设定)自选的秘方小饼干导入. 可选择本地主机; 远程/ 生产时需要, 必须匹配 REST 服务器的 CAMOFOX_API_KEY。只影响 camofox_import_cookies。 。 。 .

解决问题

  • 503 session_expired 编号 : tab create timed out —— REST 服务器的浏览器会话已死(往往是在先前的失败的呼叫使其不稳定后). 重新开始 npm start。 。 。 .
  • camofox_scroll 返回时 {ok:true} 但页面不动 — 期望在懒惰负载/ 虚拟滚动页面上; 服务器的 mouse.wheel 那边没有 使用 camofox_evaluate 与 window.scrollTo 编号 : scrollBy。 。 。 .
  • 422 strict mode violation ... resolved to N elements 打开 click —— CSS 选择器匹配多个元素. 重拍并点击元素 ref.
  • 403 Forbidden 打开 camofox_import_cookies —— REST 服务器和 MCP 服务器之间的密钥不匹配, 或点击远程服务器而不 CAMOFOX_API_KEY。 。 。 .
  • 401编号 :403 每个工具调用, 不仅仅是 cookie 导入 ——REST服务器已经 CAMOFOX_ACCESS_KEY 设置。 设置相同 CAMOFOX_ACCESS_KEY 在 MCP 服务器的嵌入( 见上文表格) 中—— 它自动转发为 Authorization: Bearer 一旦设定.

测试(开发者)

两层,涵盖不同的东西:

# 1. `test:mcp` installs the standalone adapter's locked dependencies, then
#    runs the in-repository and packed-tarball handshake tests. Neither needs
#    a REST server.
npm run test:mcp

# 2. Mock-HTTP contract tests — verifies the actual REST traffic each tool
#    produces: routes, methods, request bodies, CAMOFOX_ACCESS_KEY/CAMOFOX_API_KEY
#    auth headers, cookie parsing (Netscape file → `{ cookies }` body, never a
#    path), screenshot decoding, and error handling. Mocked REST server — no
#    live camofox-browser process needed. This is what makes the "OpenClaw and
#    MCP send identical requests" claim verifiable, not just asserted.
NODE_OPTIONS='--experimental-vm-modules' npx jest tests/unit/mcp-contracts.test.js

装入的tarball 检查安装生成的 @askjo/camofox-browser-mcp 握手前在空目录中放入焦油. 它捕捉到的进口量在独立包件之外.

版本与发布记录

@askjo/camofox-browser-mcp 共发布 8 个版本,首次发布于 2026/08/02;过去 12 个月发布了 8 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.18.1latest2026/10/051 个月前
1.18.02026/10/011 个月前
1.17.02026/09/231 个月前
1.16.02026/09/151 个月前
1.15.02026/09/111 个月前
1.14.02026/08/202 个月前

关于 @askjo/camofox-browser-mcp 的常见问题

@askjo/camofox-browser-mcp 是什么?

独立stdio MCP服务器曝光相机-浏览器REST API作为MCP工具(Claude Code, Codex, agy, Cursor, opencode). 已运行的 Camofox- 浏览器 REST 服务器的代理 —— 本身不需要浏览器二进制, Playwright, 或核心 ser

如何安装 @askjo/camofox-browser-mcp?

在项目目录运行 npm install @askjo/camofox-browser-mcp,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 camofox-browser-mcp,可以用 npx camofox-browser-mcp 直接运行。

@askjo/camofox-browser-mcp 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/askjo__camofox-browser-mcp 是否存在。

@askjo/camofox-browser-mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@askjo/camofox-browser-mcp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@askjo/camofox-browser-mcp 可以商用吗?

@askjo/camofox-browser-mcp 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@askjo/camofox-browser-mcp 的下载量有多少?

根据 npm 官方下载统计,@askjo/camofox-browser-mcp 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,200 次,日均约 73 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@askjo/camofox-browser-mcp 还在维护吗?

最新版本 1.18.1 发布于 2026/10/05(1 个月前);至今共发布 8 个版本,其中过去 12 个月发布了 8 个;首次发布于 2026/08/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。