Bubbaloop Model Context Protocol 服务器

使用说明

  • 项目简介
    • 这是一个基于 Model Context Protocol(MCP)的服务器端实现,旨在向大型语言模型(LLM)客户端提供可访问的资源、工具和 Prompt 模板等上下文信息,以支持统一的智能对话和操作自动化。
  • 主要功能点
    • MCP 服务端:实现核心 MCP 协议的请求/响应机制,提供工具调用、资源查询等能力。
    • 资源与工具管理:对接资源/节点信息,注册可调用的工具并执行,支持 RBAC 逻辑。
    • Prompts 设计与渲染:提供可渲染的 Prompt 模板,结合上下文信息输出最终对话提示。
    • 传输协议支持:支持 STDIO、HTTP(REST/JSON-RPC 风格)、WebSocket 等传输方式,便于本地集成与远程访问。
    • 安全与运维:包含认证、令牌管理、访问控制、日志与监控等机制,并整合 Zenoh 实时通讯能力。
    • 与现有组件协同:依赖并暴露 DaemonPlatform、MockPlatform 等 Platform 实现,便于本地测试与生产运行。
  • 安装步骤
    • 安装 Rust 开发环境(建议使用 Rust 1.65+,或按项目要求的版本)。
    • 获取代码并进入项目根目录。
    • 使用 cargo 构建与运行(示例在后文给出入口命令)。
    • 启动 MCP 服务端(HTTP 模式)或 STDIO 模式,根据需要选择:
      • HTTP/Server:bubbaloop mcp(默认开启本地 HTTP 服务器,监听 8088,URL 为 http://127.0.0.1:8088/mcp)
      • STDIO/本地整合:bubbaloop mcp --stdio
  • 服务器配置(MCP 客户端使用,配置信息仅用于描述服务器端的连接参数,客户端实际连接配置由客户端读取)
    • server_name: bubbaloop-mcp-http
    • command: bubbaloop
    • args: ["mcp", "--port", "8088"] 注释说明:该配置用于 MCP 客户端通过 JSON-RPC/HTTP 与 MCP 服务器进行通信。服务器在本地启动时会暴露 http://127.0.0.1:8088/mcp 端点,客户端无需实现其他复杂配置即可连接使用。若使用 STDIO 传输,需将 command/args 设置为对应启动选项,且客户端以标准输入输出流对接。
  • 基本使用方法
    • 启动服务器
      • 在本地运行:bubbaloop mcp
      • 以 STDIO 模式:bubbaloop mcp --stdio(CLI/Claude Code 等本地代理场景)
    • 与 LLM 客户端对接
      • HTTP 客户端:通过 http://127.0.0.1:8088/mcp 进行 JSON-RPC 请求,发送读取资源、执行工具、获取 Prompt 等请求,并接收 JSON-RPC 响应。
      • STDIO 客户端:使用标准输入输出进行 JSON-RPC 消息的交互(适用于 Claude Code 等本地代理场景)。
    • 常用工具与操作
      • 使用 MCP 工具查询或执行节点相关操作(如列出节点、获取节点健康、发送命令、查询 Zenoh、安装/移除节点等)。
      • 通过配置的 RBAC 策略,控制不同角色对工具的访问权限。
    • 调试与运维
      • 使用日志与诊断命令查看 MCP 服务状态、健康状况、以及与 Zenoh 的通信情况。
      • 如遇 Zenoh 超时、鉴权问题等,参照 README/ARCHITECTURE 文档定位问题。

服务器信息