BrowserForce MCP服务器

使用说明(Markdown 格式)

BrowserForce MCP服务器

  • 目标与定位

    • 将 BrowserForce 作为 MCP 服务器实现,向 MCP 客户端提供统一的资源管理、工具注册/执行、以及可定制的 Prompt 模板机制。通过 JSON-RPC 的方式实现标准化请求/响应,支撑多传输协议,便于在本地环境下与 LLM 客户端对接。
  • 主要功能点

    • 资源与数据访问:托管并管理资源、插件、以及与浏览器交互所需的数据。
    • 工具注册与执行:注册工具并允许 MCP 客户端调用外部功能,完成对真实浏览器的操作。
    • Prompt 模板与渲染:定义/渲染 Prompt 模板,支持可定制的对话模式与上下文注入。
    • JSON-RPC 通信:通过 MCP 标准的请求/响应格式进行交互,服务器端负责会话管理与能力声明。
    • 多传输协议支持:底层 relay 支持如 Stdio、SSE、WebSocket 等传输,确保本地化、可扩展的上下文服务。
    • 安全性与隔离:局部化运行在本地,避免将凭据暴露给外部环境,提供可控的上下文服务框架。
  • 安装与运行

    • 安装方式
      • 全局安装:npm install -g browserforce
      • 从源码安装:克隆仓库后在根目录执行 pnpm install(如使用 pnpm)
    • 运行 MCP 服务器
      • 先启动 Relay/扩展等组件
      • 在命令行执行: browserforce mcp
    • 运行示意:CLI 提供的 serve(relay 服务)与 mcp(MCP 服务器)两部分,控制 MCP 客户端连接流程
  • 服务器配置(MCP 客户端使用的配置示例) 为 MCP 客户端提供的配置,描述服务器名称、启动命令及参数等信息,JSON 结构示例如下(客户端无需关心实现细节,但用于注册与发现): { "servers": [ { "name": "browserforce", "transport": "stdio", "command": "npx", "args": ["-y", "browserforce@latest", "mcp"] } // 也可根据需要使用其他传输方式及前置命令 ] } 说明:

    • name: MCP 服务端的唯一标识名称
    • transport: 传输类型,stdio 为标准输入/输出通信,后续也可扩展为 websocket 等
    • command/args: 启动 MCP 服务器所需的具体命令及参数
    • 注:以上配置为示例,实际使用时请结合你本地环境的 Node/NPM 版本与 BrowserForce 的实际打包路径进行调整。
  • 基本使用方法

    1. 启动 Relay/扩展服务
      • 参考仓库文档,安装并启动 Relay,确保 Chrome 扩展/插件可正确连接到本地 Relay。
    2. 启动 MCP 服务器
      • 运行 browserforce mcp,MCP 服务器将监听本地端口并等待 MCP 客户端连接。
    3. 配置 MCP 客户端
      • 将上面的 MCP 服务器配置写入 MCP 客户端的配置文件中(若客户端需要静态配置)。示例仅供参考,实际客户端可能通过界面或命令行进行注册。
    4. 使用与调试
      • MCP 客户端通过 JSON-RPC 向服务器请求资源、调用工具、获取 Prompt/模板等能力;服务器返回标准化的 JSON-RPC 响应。
      • 如遇连接/加载问题,请检查 Relay、扩展连接状态,以及 MCP 服务端日志。
  • 重要注意点

    • MCP 服务器属于后端实现,需配合本仓库的 relay/extension/agent 模块共同工作,确保资源、工具、Prompts 的一致性。
    • 生产环境中请结合安全策略对本地端口、授权令牌等进行强化。
  • 小贴士

    • MCP 客户端与服务器之间的 JSON-RPC 约定、命名空间、以及 transport 的具体协议实现,请参考仓库中的 mcp 相关源码与文档。
    • 如需进一步自定义,可通过扩展插件/工具的方式实现更丰富的 Tool 集与 Prompt 变量注入。

服务器信息