福克斯探员
一个MCP服务器和Firefox扩展,让Claude Code控制你真正的Firefox浏览器——浏览页面、阅读可访问性树和截图。
运作原理
Claude Code MCP Server NM Host Firefox ExtensionMCP服务器通过 模型上下文协议本地消息传递主机在MCP服务器和Firefox扩展之间中继命令,Firefox扩展使用WebExtension API对实际浏览器执行这些命令。
工具
| 工具 | 说明 |
|---|---|
browser_navigate | 导航到URL |
browser_navigate_back | 返回上一页 |
browser_snapshot | 获取页面的可访问性树(基于文本,如Playwright MCP) |
browser_take_screenshot | 捕获可见选项卡的屏幕截图 |
browser_click | 单击页面上的元素 |
browser_type | 在可编辑元素中键入文本 |
browser_press_key | 按键盘键 |
browser_hover | 将鼠标悬停在元素上 |
browser_fill_form | 一次填写多个表单字段 |
browser_select_option | 在下拉列表中选择一个选项 |
browser_tabs | 列出、创建、关闭或选择浏览器选项卡 |
browser_close | 关闭当前选项卡 |
browser_resize | 调整浏览器窗口大小 |
browser_evaluate | 在页面或元素上评估JavaScript |
browser_wait_for | 等待文本出现/消失或超时 |
先决条件
- Node.js 18+
- 火狐115+
设置
# Install dependencies and build
npm install
npm run build
# Install the native messaging host manifest and get MCP config
npx agentfox setup这 setup command做两件事:
- 将本机消息主机清单写入
~/.mozilla/native-messaging-hosts/agentfox.json - 打印MCP服务器配置以添加到您的Claude Code设置中
安装扩展
选项A:持续安装(推荐)
- 构建扩展包:
npm run pack - 打开Firefox并转到
about:addons - 点击齿轮图标并选择 从文件安装附加组件。..
- 选择
dist/agent_fox-0.1.0.zip
注意:Firefox可能需要对扩展进行签名才能进行持久安装。如果您看到签名错误,请使用about:config设定xpinstall.signatures.required到false(仅限Firefox开发者版和Nightly),或使用选项B。
方案B:临时安装(开发)
- 打开Firefox并转到
about:debugging#/runtime/this-firefox - 点击 加载临时加载项。。。
- 在中选择任何文件
extension/dist/
临时附加组件在Firefox重启后不会持续存在。
配置Claude代码
添加打印的MCP服务器配置 agentfox setup 到你的项目 .mcp.json:
{
"mcpServers": {
"agentfox": {
"command": "/absolute/path/to/agentfox/server/bin/agentfox-mcp"
}
}
}项目结构
agentfox/
shared/ Shared TypeScript types (Command, CommandResponse, etc.)
server/ MCP server, native messaging host, CLI, and IPC layer
extension/ Firefox WebExtension (background script + content script)
scripts/ Build tooling这是一个npm workspaces monorepo。这 shared 包是两者的构建时依赖项 server 和 extension.
发展
npm run dev # Watch mode — rebuilds on changes
npm run build # One-shot build
npm run pack # Package extension as .zip/.xpi
npm run clean # Remove all build artifacts
npm run lint # Type-check all packages
npm test # Run unit testsCLI命令
npx agentfox setup # Install NM host manifest and show MCP config
npx agentfox status # Check connectivity (NM manifest, MCP server, socket)
npx agentfox uninstall # Remove NM host manifest安全模型
Agent Fox是一款专为在您自己的机器上使用而设计的个人工具。它使MCP客户端(例如Claude Code)能够完全控制您的浏览器,包括通过以下方式在任何页面上执行任意JavaScript browser_evaluate.
如何 browser_evaluate 作品
评估工具注入 ` 标签进入页面的主世界。这是必要的,因为内容脚本在一个孤立的世界中运行 new Function()` 在大多数网站上被内容安全策略阻止。注入的脚本模式是一种标准的WebExtension技术,但它意味着:
- 评估代码以全页权限运行。 它可以访问页面的JS上下文、Cookie(通过
document.cookie)以及DOM。这相当于在浏览器的开发人员控制台中运行代码。 - 结果通过以下方式传达
CustomEvent. 注入的脚本会分派一个内容脚本监听的自定义事件,因此结果可以安全地跨越主世界/孤立世界的边界。 - 处理DOM节点和循环引用。 非JSON可序列化的返回值被转换为字符串,而不是抛出。
信任边界
信任模型是: 您信任MCP客户端。 Agent Fox不会在MCP协议本身提供的之外添加沙盒或权限提示。如果你不在浏览器控制台中键入命令,不要让代理通过 browser_evaluate.
这适用于你监督代理人的个人工具。如果没有额外的访问控制,它不适合多租户或不受信任的客户端部署。
状态
积极发展。核心管道使用全套交互工具进行端到端的工作——导航、单击、键入、表单填写、选项卡管理、JavaScript评估等。
许可证
MIT许可证。看 LICENSE
