BrowserOS_Guides MCP Server
使用说明
- 项目简介
- 本仓库实现一个 MCP 服务器,核心职责是以标准化的 JSON-RPC 方式向 LLM 客户端提供上下文信息、资源访问、工具注册与调用,以及 Prompt 模板的获取与渲染能力。服务器通过 HTTP/SSE 与客户端通信,支持健康检查、工具查询、资源检索等操作,便于在 BrowserOS 等系统中为 LLM 提供稳定的上下文服务。
- 主要功能点
- MCP 请求/响应处理:支持 MCP 的核心方法与事件,包括 initialize、tools/list、tools/call、ping,以及对基于工具的直接调用请求的处理;返回标准的 JSON-RPC 2.0 响应结构。
- SSE 传输与会话:提供 /sse 接入点,建立持续的事件流,客户端通过 /messages?sessionId=xxx 发送 JSON-RPC 请求,服务器将响应推送回 SSE 流。
- 资源与工具管理:加载 BrowserOS_KB 基础知识库、工作流模板、以及工具定义,提供查询、检索与执行能力。
- 健康与状态:提供 /mcp/health 等端点,暴露服务器与知识库的加载状态、工作流数量等信息。
- 权限与安全:内置日志记录、错误处理与基本的输入校验,确保在可控范围内进行资源访问与工具执行。
- 安装与运行
- 环境要求:Node.js 环境,仓库根目录下包含 server 相关代码与依赖。
- 运行步骤(简要):
- 将代码克隆到本地
- 安装依赖(若存在 package.json,可执行 npm install)
- 启动 MCP 服务器:npm run mcp-server(该命令会在控制台输出服务器地址,默认 http://localhost:3100/mcp 与 SSE 地址)
- 运行后默认端口与地址
- REST/JSON-RPC 端点: http://localhost:3100/mcp
- SSE 端点: http://localhost:3100/sse
- 健康检查: http://localhost:3100/mcp/health
- 服务器配置(给 MCP 客户端的连接信息,JSON 格式描述,非代码块,方便阅读)
- 服务器名称: BrowserOS_Guides_MCP_Server
- 启动命令: node
- 参数: ["server/mcp-server.js"]
- 工作目录: 项目根目录
- 环境变量示例(可根据需要配置)
- MCP_SERVER_PORT=3100
- MCP_HOST=localhost
- 客户端连接要点(简述)
- 客户端应以 MCP 协议的“initialize”请求开始通信,随后通过 “tools/list”获取支持的工具清单,通过 “tools/call” 调用具体工具,并可通过 /mcp 获取知识库相关信息。
- 使用 SSE 通道时,客户端先 GET /sse 建立会话,然后 POST 请求到 /messages?sessionId=xxx 进行具体的 JSON-RPC 调用,服务器会通过 SSE 流推送响应。
- 基本使用方法
- 如何开始
- 启动服务器后,使用客户端建立会话并初始化,以获得服务能力与协议版本信息。
- 如何查询知识库与工具
- 通过 MCP 的工具列表接口获取可用工具,再使用工具调用接口执行特定操作,如 query_knowledge、search_workflows 等。
- 如何获取与渲染 Prompts
- 通过对应工具或接口请求 Prompt 模板,服务器提供与渲染相关的模板数据。
- 常见注意事项
- 确保服务器端口未被防火墙屏蔽,客户端应遵守速率限制与合理的请求间隔。
- 在本地搭建测试环境时,可通过 /mcp/health 先行检查服务状态。
- 重要端点概览
- /mcp/health 进行健康检查,返回服务器、KB 与工作流数量等信息
- /mcp/tools 返回可用工具清单及数量
- /mcp 通过 POST 提交 MCP 请求,返回 JSON-RPC 风格结果
- /sse 建立 SSE 会话,/messages?sessionId=xxx 用于发送 JSON-RPC 请求
- 其他静态资源或演示页面用于自测与开发
- 备注
- MCP 客户端需要配置连接信息(上述 JSON 描述)以建立与 MCP 服务器的连接;服务器端实现致力于与 BrowserOS 的工作流、资源、工具生态无缝对接,提供一致的上下文服务体验。