项目简介
FoxMCP是一个创新的Firefox浏览器扩展,旨在通过Model Context Protocol (MCP) 赋能AI助手和自动化工具,使其能够直接与Firefox浏览器进行交互和控制。它将复杂的浏览器操作抽象为一系列可由AI调用的工具,从而实现高级的浏览器自动化和上下文感知。
主要功能点
- 全面浏览器控制: 管理和操作浏览器标签页、窗口,实现页面导航、截图等。
- 页面内容交互: 提取网页文本、HTML,并在页面中执行自定义JavaScript代码。
- 历史记录与书签管理: 搜索浏览历史,列出、搜索、创建、删除和更新书签及书签文件夹。
- 网络请求监控: 监控和分析HTTP请求,支持URL模式过滤、捕获请求/响应头及内容。
- 自定义脚本执行: 允许执行预定义的参数化Shell/JavaScript脚本,实现更复杂的自动化流程。
- AI集成友好: 通过标准MCP协议与Claude Code等AI客户端无缝集成。
安装步骤
- 克隆仓库:
git clone https://github.com/ThinkerYzu/foxmcp.git cd foxmcp - 安装Python依赖:
python3 -m venv venv source venv/bin/activate # 在Windows系统上请使用: venv\Scripts\activate pip install -r requirements.txt - 构建Firefox扩展:
这将在 'dist/packages/' 目录下生成 '[email protected]' 文件。make package - 安装Firefox扩展:
- 方法一 (推荐): 自动化脚本
请先完全关闭所有Firefox浏览器窗口,然后执行以下命令。你需要提供Firefox用户配置文件的路径(可以在Firefox的 'about:profiles' 页面中找到):
(请将 '/path/to/firefox/profile' 替换为你的实际Firefox配置文件路径。)./scripts/install-xpi.sh /path/to/firefox/profile - 方法二 (手动): 打开Firefox浏览器,访问 'about:addons' 页面。点击页面右上角的齿轮图标 (⚙️),选择 "从文件安装附加组件...",然后选择你在步骤3中生成的 'dist/packages/[email protected]' 文件。
- 方法一 (推荐): 自动化脚本
请先完全关闭所有Firefox浏览器窗口,然后执行以下命令。你需要提供Firefox用户配置文件的路径(可以在Firefox的 'about:profiles' 页面中找到):
- 启动FoxMCP服务器:
激活Python虚拟环境后,执行以下命令:
服务器将同时启动WebSocket服务(默认监听 'localhost:8765',供Firefox扩展连接)和MCP服务(默认监听 'localhost:3000',供AI客户端通过HTTP连接)。make run-server # 或者手动执行: python server/server.py
MCP服务器配置
MCP客户端(如Claude Code)需要以下配置信息来启动并连接到FoxMCP服务器。这是一个JSON格式的配置示例,包含了客户端启动FoxMCP服务器进程所需的 'command' 和 'args' 信息:
{ "server_name": "foxmcp", "command": "python", // "command" 指定了用于启动FoxMCP服务器的Python解释器。 // 确保它指向你安装FoxMCP时使用的Python虚拟环境中的Python解释器, // 或者你系统PATH中可直接访问的Python。 "args": [ "/absolute/path/to/your/foxmcp/server/server.py", // 这是FoxMCP服务器脚本的绝对路径。 // 请将 "/absolute/path/to/your/foxmcp" 替换为你克隆仓库的实际根目录路径。 // 例如:"/Users/youruser/foxmcp/server/server.py" // "--port", "8765", // 可选参数:指定WebSocket端口,默认值是8765。 // "--mcp-port", "3000", // 可选参数:指定MCP服务器监听的HTTP端口,默认值是3000。 // "--no-mcp", // 可选参数:如果设置,将禁用MCP服务器,只运行WebSocket,不建议为MCP客户端设置。 // "--debug" // 可选参数:开启调试模式,服务器将输出更详细的日志信息。 ], "transport": "http", // "transport" 指定了MCP客户端与服务器通信的协议类型,FoxMCP使用HTTP。 "url": "http://localhost:3000/mcp/" // "url" 是MCP客户端将尝试连接的MCP服务器的HTTP端点。 // 如果你在"args"中通过"--mcp-port"更改了MCP服务器的端口,请务必更新此处的端口号。 }
请注意:'command' 和 'args' 中的路径信息对MCP客户端正确启动服务器至关重要。请务必根据你的实际安装路径进行调整。
基本使用方法
一旦FoxMCP服务器成功运行,并且Firefox扩展已连接,你可以使用AI客户端(如Claude Code)连接到 'http://localhost:3000/mcp/' 端点,并通过自然语言与Firefox浏览器进行交互和自动化:
- 获取标签页信息: "列出所有打开的标签页"
- 创建新标签页: "创建一个新的标签页,访问example.com"
- 获取页面内容: "获取当前页面的文本内容"
- 搜索浏览历史: "搜索我的浏览历史,查找关于Python教程的记录"
- 截屏操作: "截取当前标签页的屏幕截图"
- 执行JavaScript: "在当前页面执行JavaScript代码:'document.title'"
- 管理书签: "创建一个名为'我的工作'的书签文件夹"
- 网络监控: "开始监控所有对 'api.example.com' 的请求"
- 运行自定义脚本: "执行预定义脚本 'youtube-play-pause.sh' 来暂停当前YouTube视频"
信息
分类
开发者工具