项目简介

FoxMCP是一个创新的Firefox浏览器扩展,旨在通过Model Context Protocol (MCP) 赋能AI助手和自动化工具,使其能够直接与Firefox浏览器进行交互和控制。它将复杂的浏览器操作抽象为一系列可由AI调用的工具,从而实现高级的浏览器自动化和上下文感知。

主要功能点

  • 全面浏览器控制: 管理和操作浏览器标签页、窗口,实现页面导航、截图等。
  • 页面内容交互: 提取网页文本、HTML,并在页面中执行自定义JavaScript代码。
  • 历史记录与书签管理: 搜索浏览历史,列出、搜索、创建、删除和更新书签及书签文件夹。
  • 网络请求监控: 监控和分析HTTP请求,支持URL模式过滤、捕获请求/响应头及内容。
  • 自定义脚本执行: 允许执行预定义的参数化Shell/JavaScript脚本,实现更复杂的自动化流程。
  • AI集成友好: 通过标准MCP协议与Claude Code等AI客户端无缝集成。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/ThinkerYzu/foxmcp.git
    cd foxmcp
  2. 安装Python依赖:
    python3 -m venv venv
    source venv/bin/activate  # 在Windows系统上请使用: venv\Scripts\activate
    pip install -r requirements.txt
  3. 构建Firefox扩展:
    make package
    这将在 'dist/packages/' 目录下生成 '[email protected]' 文件。
  4. 安装Firefox扩展:
    • 方法一 (推荐): 自动化脚本 请先完全关闭所有Firefox浏览器窗口,然后执行以下命令。你需要提供Firefox用户配置文件的路径(可以在Firefox的 'about:profiles' 页面中找到):
      ./scripts/install-xpi.sh /path/to/firefox/profile
      (请将 '/path/to/firefox/profile' 替换为你的实际Firefox配置文件路径。)
    • 方法二 (手动): 打开Firefox浏览器,访问 'about:addons' 页面。点击页面右上角的齿轮图标 (⚙️),选择 "从文件安装附加组件...",然后选择你在步骤3中生成的 'dist/packages/[email protected]' 文件。
  5. 启动FoxMCP服务器: 激活Python虚拟环境后,执行以下命令:
    make run-server
    # 或者手动执行:
    python server/server.py
    服务器将同时启动WebSocket服务(默认监听 'localhost:8765',供Firefox扩展连接)和MCP服务(默认监听 'localhost:3000',供AI客户端通过HTTP连接)。

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视频"

信息

分类

开发者工具