CamoFox MCP — 基于 MCP 的浏览器自动化后端服务器
使用说明
项目简介
CamoFox MCP 是一个完整的 MCP 服务器实现,旨在向 LLM 客户端提供标准化的上下文服务。它通过对接 CamoFox 浏览器服务器,管理多标签页(Tabs)、执行一系列网页自动化工具、提供页面快照和链接提取等能力,并提供会话与配置持久化等功能。
主要功能点
- 资源与工具管理:集中暴露浏览器资源(标签/会话等)并注册多种操作工具(导航、点击、填表、截图、快照、搜索等)。
- 与 CamoFox 浏览器服务对接:通过 REST API 将 MCP 调用映射到浏览器服务器,读取页面数据、执行操作、管理会话。
- 会话与持久化:支持用户会话、Cookies 导入导出、会话资料的自动保存/加载(在可用 API Key 时)。
- 提供安全、可扩展的上下文:通过标签、URL、历史、引用计数等维度维护上下文状态,便于 LLM 管理和推理。
- 多传输协议支持:当前实现通过 MCP 的标准 stdio 传输,便于在本地进程间通信(也可扩展为 SSE、WebSocket 等传输)。
安装步骤
- 需要 Node.js 18 及以上。
- 克隆仓库并安装依赖:npm install
- 构建与运行(示例步骤,与实际部署可选):
- npm run build
- 使用标准 MCP 客户端配置启动(如下“服务器配置”所示)
服务器配置(MCP 客户端需要的配置信息)
{ "servers": { "camofox": { "type": "stdio", "command": "npx", "args": ["-y", "camofox-mcp@latest"], "env": { "CAMOFOX_URL": "http://localhost:9377" } // 说明: 该配置用于 MCP 客户端通过 stdio 方式连接服务器。CAMOFOX_URL 指向 CamoFox 浏览器服务器实例的 REST 端点。 } } }
说明:上述配置仅用于 MCP 客户端连接服务器的示例,具体命令路径和环境变量根据实际部署调整。仓库提供了 README 中的 Docker、直接从源码运行等多种启动方式,客户端无需改动即可使用。
基本使用方法
- 启动 CamoFox 浏览器服务(外部依赖,确保可访问默认端口 9377)。
- 启动 MCP 服务器(本仓库实现),通过 stdio 方式与 MCP 客户端对接。
- MCP 客户端发送 JSON-RPC 风格的工具调用,例如创建标签页、导航、快照、脚本执行等,服务器将调用 CamoFox,返回结果。
- 通过服务端暴露的工具集合,LLM 可以实现浏览器驱动的对话式交互、网页探查、数据抓取与自动化任务执行。