RoboSystems MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • RoboSystems MCP 服务器是一套面向 LLM 客户端的后台服务,核心职责是以 MCP 标准向客户端提供可访问的资源数据、可执行的工具以及可渲染的 Prompt/模板,並通过 JSON-RPC 风格的接口与前端/LLM 进行通信。服务器还实现会话管理、能力声明,并支持多种传输协议(如 Stdio、SSE、WebSocket),以实现安全、可扩展的上下文服务。
  • 主要功能点

    • MCP 核心端点与能力
      • 提供 MCP 工具清单(/tools)以及按图环境的工具执行入口(/mcp/call-tool),支援不同工具类型(查询、架构、信息等)并返回结构化响应。
      • 支援多种输出格式与流式传输:JSON、SSE、NDJSON,以及队列执行模式,便于与支持 MCP 的 LLM 客户端进行交互。
    • 资源与工具管理
      • 服务器端实现对图数据库资源(图、子图、仓库等)的访问、权限校验、以及用于 AI 任务的工具集成。
    • Prompts 与模板(若有)
      • 通过 MCP 的工具与工作流,渲染与执行提示/模板,用于 LLM 进行图分析、数据查询或记忆管理等任务。
    • 会话与认证
      • 提供会话上下文、令牌验证、速率限制、访问控制等机制,确保对资源与工具调用的授权与审计。
    • 传输协议与可观测性
      • 支持多传输协议(SSE、NDJSON、WebSocket 等),并集成 OpenTelemetry、日志与指标,便于监控与追踪。
  • 安装与运行步骤

    • 依赖与环境
      • 需要 Python 环境(建议 Python 3.11+),并安装 FastAPI、SQLAlchemy、SSE 库等依赖。
    • 启动方式
      • 以常见的 FastAPI 部署方式启动服务,例如使用 uvicorn:
        • uvicorn robosystems.main:app --host 0.0.0.0 --port 8000 --reload
      • 也可将服务部署在容器/云环境中,结合已有部署脚本进行启动。
    • 运行检查
      • 访问 /openapi.json 验证 API 定义,访问默认文档入口(若启用自定义文档路由)以查看 MCP 相关端点。
  • 服务器配置(给 MCP 客户端的启动配置示例)

    • 下面给出符合 MCP 客户端需求的一个配置范例(以 JSON 表示,服务器端配置项用于描述如何启动与连接 MCP 服务器),请注意这不是代码块,而是直接可读的 JSON 配置文本。
    • 示例配置(解释在每个字段后的注释中给出) { "server_name": "robosystems-mcp-server", "command": "uvicorn", "args": [ "robosystems.main:app", "--host", "0.0.0.0", "--port", "8000", "--log-level", "info" ], "description": "RoboSystems MCP 服务器,通过 FastAPI 提供 MCP 端点,支持资源/工具/提示的访问、执行与渲染,兼容多种传输协议。", "protocols": ["HTTP/JSON-RPC", "SSE", "WebSocket"], "health_check_endpoint": "/status", "authentication": "JWT Bearer token + API Key 机制(由服务器端中间件实现)", "network": { "host": "0.0.0.0", "port": 8000, "read_timeout_seconds": 30 }, "notes": [ "客户端(LLM)通过 '/v1/graphs/{graph_id}/mcp/tools' 获取工具清单", "客户端通过 '/v1/graphs/{graph_id}/mcp/call-tool' 提交 MCP 工具调用", "支持流式输出(SSE/NDJSON)与完整 JSON 输出", "需要在环境中正确配置数据库、缓存与认证组件" ] }
  • 基本使用方法

    • 客户端交互流程(简要描述,便于快速上手)
        1. 获取 MCP 工具清单:向 /v1/graphs/{graph_id}/mcp/tools 发送 GET 请求,获取可用工具及其输入输出描述。
        1. 选择工具并发起执行:向 /v1/graphs/{graph_id}/mcp/call-tool 发送 POST,请求体包含 tool 名称与参数,选择输出模式(JSON、SSE、NDJSON)或让服务器自行决定。
        1. 根据需要订阅进度:若选择 SSE/NDJSON,客户端可实时接收进度与结果;若为队列模式,则通过提供的 operation_id 轮询状态或订阅对应的 SSE 流。
        1. 处理结果:服务器返回的结果中包含执行内容、元数据、耗时等信息,LLM 客户端据此完成后续推理或决策。
    • 关键注意点
      • MCP 服务器提供对资源、工具、提示的标准化接口,务必确保调用方具备相应访问权限。
      • 输出格式与流控由服务器端策略决定,客户端应具备对 SSE/NDJSON 的容错处理能力。
      • 安全性、限流、日志审计等由服务器中间件实现,客户端应遵循相应的速率限制与鉴权机制。
  • 关键词 数据库、API、流式传输、图数据库、云端监控

  • 分类ID 5

服务器信息