CBrowser MCP 服务器

使用说明内容(Markdown格式)

  • 项目简介

    • 本项目实现了一个基于 MCP(Model Context Protocol)的后端服务器,用来向 LLM 客户端提供统一的上下文服务。核心能力包括:托管与管理浏览器相关的资源、注册并执行工具、定义和渲染 Prompt 模板,以及通过 JSON-RPC 与客户端进行通信,支持会话管理和多种传输协议。
  • 主要功能点

    • MCP 服务器实现与对接:
      • 通过 MCP SDK 构建服务器,注册并暴露多个工具(navigate、click、fill、screenshot、extract 等),以及其他模块(视觉回归、NL 测试、性能、跨浏览器对比、响应式等)的能力入口。
    • 工具执行与资源管理:
      • 提供导航、元素交互、表单填写、数据提取等工具,能够在受控环境中执行并返回结构化结果(URL、标题、截图、加载时间等)。
    • 会话与持久化:
      • 支持持久化的浏览器上下文、会话保存/加载、cookies、本地存储与会话存储的持久化管理,便于多轮对话中的上下文保持。
    • 安全与治理:
      • 包含“Constitutional Safety”等概念性实现,对危险操作进行分类与控制,确保对外暴露的操作具备安全边界。
    • 服务器部署与运用场景:
      • 远程 MCP 服务器(Claude 等云端客户端接入)与本地 MCP 服务器(Claude Desktop/Code 本地集成)两种模式,方便在多种环境中部署。
    • 模块化与扩展性:
      • 支持多模块协作(视觉、测试、分析、 personas 等),并提供自学习的选择器缓存、模态弹窗处理等智能能力,提升 LLM 的上下文能力和可用性。
  • 安装步骤

    • 克隆仓库,安装依赖(如 npm/yarn/bun),在项目根目录执行合适的包管理器安装命令。
    • 编译/启动 MCP 服务器(示例命令:npx cbrowser mcp-server),根据实际环境选择本地启动还是作为模块化服务引入。
    • 如需远程接入,参考文档中的 Remote MCP Server 指引进行部署与域名配置。
  • 服务器配置(MCP 客户端对接所需信息)

    • MCP 客户端需要一个配置来连接并使用此 MCP 服务器,配置以 JSON 形式给出,包含服务器名称、启动命令及参数等信息。说明如下(不以代码块呈现,仅作示例描述):
      • serverName: cbrowser
        • 描述: MCP 服务在你的环境中的唯一标识名,客户端通过该名称定位并连接对应的服务器。
      • command: npx
        • 描述: 启动服务器所需的命令前缀,通常使用 npx 以执行本仓库中的 CLI 命令。
      • args: ["cbrowser", "mcp-server"]
        • 描述: 启动参数数组,表示执行 cbrowser mcp-server 命令以启动 MCP 服务端。
      • 注释与要点:
        • 该配置仅用于 MCP 客户端连接服务器的运行指令,不包含客户端实现细节。
        • 客户端需要的其他参数(如认证、连接端点、授权模式等)请参考具体客户端对接文档。
    • 上述配置示例可直接粘贴到客户端的 MCP 连接设置中,用以指向本仓库的 MCP 服务端实现。
  • 基本使用方法

    • 启动 MCP 服务器:在项目目录执行 npx cbrowser mcp-server
    • 客户端接入与调用(简述):
      • 客户端通过 MCP 协议向服务器发起请求,服务器注册工具、执行对应动作并返回 JSON-RPC 响应。
      • 常用入口包括 Navigate(导航并返回结果)、Click(点击元素)、Fill(填写表单)、Extract(提取数据)等工具。
    • 运行时注意事项:
      • 服务器需要合适的权限与资源,确保 Playwright/浏览器驱动可用。
      • 对话与资源管理应结合实际 LLM 的请求模式进行 throttle 与 权限控制。

服务器信息