使用说明(Markdown 格式)

  • 项目简介 Sahai 将 MCP(Model Context Protocol)理念落地为可运行的后端服务器,提供标准化的上下文服务能力,允许 LLM 客户端通过 JSON-RPC 与服务器交互以访问资源、注册和执行工具、以及获取和渲染 Prompt 模板。服务器端负责会话管理、能力声明,并支持多种传输协议(如 SSE)实现实时上下文流。

  • 主要功能点

    • MCP JSON-RPC 服务端:处理初始化、工具列表、工具调用等 MCP 请求,按 MCP 规范返回 JSON-RPC 响应或错误信息。
    • 会话管理:通过 MCP 会话标识实现跨请求的状态与上下文维护,支持单请求/批量请求处理。
    • 工具注册与执行:提供可调用的工具集合,允许 LLM 客户端远程调用外部功能,返回结构化结果。
    • 资源与任务上下文:通过后端服务管理资源、任务、仓库等,提供一致的 API 入口供 MCP 客户端使用。
    • 实时推送:通过 SSE(Server-Sent Events)实现服务器到客户端的事件流,便于状态变更、日志流等的实时更新。
    • 安全与扩展性:服务器端负责工作流、会话生命周期、能力声明,具备扩展现有工具和资源的能力。
  • 安装与运行步骤

    • 依赖安装
      • 使用 Bun 或 Node 生态进行依赖安装。
    • 构建与启动
      • 启动前端与后端(仓库内提供的脚本设计为同时启动或独立启动后端/前端)。常见做法为:
        • 启动后端 MCP 服务器(包含 JSON-RPC 入口与 SSE 流):命令通常会启动后端服务器并绑定端口,例如 49382,MCP 端点在 http://localhost:49382/v1/mcp
        • 启动前端(若需要管理界面/测试环境)
    • MCP 客户端配置
      • MCP 客户端需要将 MCP 服务器信息配置为可访问的端点,示例配置包括:服务器名称、启动命令及参数等。具体信息如下(JSON 格式,供 MCP 客户端读取配置,非代码块): { "serverName": "sahai", "command": "bun", "args": ["bin/sahai.ts", "--port", "49382"] }
      • 仅用于客户端连接 MCP 服务器,客户端本身并不需要实现服务器端逻辑。
    • 访问端点
      • MCP 服务端 JSON-RPC 接口:POST http://localhost:49382/v1/mcp
      • MCP 服务器会话通过请求头或初次请求返回的会话标识进行维护,具体细节以实现为准。
    • 使用要点
      • 客户端通过发送 JSON-RPC 请求(可能是单条或批量请求)给 /v1/mcp 端点。服务器返回包含 jsonrpc、id、result 或 error 的响应。
      • 如需实时状态与日志,客户端可订阅 /v1/mcp 的 SSE 流(需要会话标识)。
  • 基本使用方法

    1. 启动服务
      • 运行提供的启动命令,确保后端 MCP 服务正常监听。
    2. 连接客户端
      • 配置 MCP 客户端以连接 http://localhost:49382/v1/mcp,使用会话机制进行初始化与后续请求。
    3. 发起 MCP 请求
      • 使用 initialize 初始化会话,随后可发送 tools/list、tools/call 等请求来创建任务、查看任务、获取日志等。
    4. 实时订阅
      • 若需要日志或执行进度的实时更新,订阅 SSE 流以接收服务器端事件。
    5. 维护会话
      • 会话应在不再需要时结束,以释放资源并清理上下文。
  • 备注

    • MCP 服务端实现包含初始化、工具清单、工具调用、任务与日志相关的操作,以及会话管理与 SSE 连接等核心能力,具备可直接对接 MCP 客户端的基础能力。

信息

分类

网页与API