Cesium-MCP 服务器集合(MCP 后端实现)
使用说明(Markdown 格式)
- 项目概览
- 这是一个涵盖多个 MCP 服务器实现的后端集合,专门用于 Cesium 场景的 AI 集成场景。服务器实现了 MCP 的核心能力:注册工具、处理来自 MCP 客户端的命令、通过共享传输通道与 Cesium 客户端交互,并提供一致化的输出格式与状态信息。
- 主要功能点
- 多服务器实现:camera-server、entity-server、animation-server 等,分别提供不同维度的工具集(如相机控制、实体管理、动画/路径控制等)。
- 资源与工具管理:服务器端注册工具、定义输入输出模式、对外暴露统一的输出结构,便于 LLM 客户端进行调用与解析。
- 传输协议支持:支持标准的端到端传输,包含 stdio、WebSocket、SSE 等多种传输方式,确保不同运行环境下的可访问性与灵活性。
- 客户端通信与响应:通过统一的命令通道,将 MCP 命令发送给 Cesium 客户端,并汇总/格式化返回结果,提供一致的表述与状态信息。
- 安全与会话管理:具备会话/连接管理、心跳与超时处理,确保在浏览器端可视化与 AI 客户端间的健壮通信。
- 安装与运行(简要步骤)
- 前提:需要 Node.js 环境,仓库提供的各服务端代码为 TypeScript 实现,通常需要安装依赖并编译后运行。
- 通用步骤(适用于各服务模块的本地开发环境):
- 安装依赖:在仓库根目录或各服务器目录下安装依赖(如 npm install 或 pnpm install)。
- 构建/编译:执行项目的构建命令,将 TypeScript 转换为可执行的 JavaScript。
- 启动服务:按照各服务器的启动脚本启动,例如 camera-server、entity-server、animation-server 等。
- 连接客户端:在 MCP 客户端(LLM 集成端)通过配置 MCP 服务器信息与传输协议,建立连接并调用注册的工具。
- 服务器配置(给 MCP 客户端的 JSON 配置注释)
- MCP 服务器配置用于驱动客户端连接与指令路由,以下为基于仓库信息的描述性注释(JSON 结构示意,实际客户端不需要执行以下代码,仅用于理解参数含义):
- serverName: 摄像机服务器 (示例: "cesium-camera-mcp-server")
- command: 启动指令,例如 "start"
- args: 启动参数集合,例如
- port: 3002
- transport: "websocket"(或 "sse")
- strictPort: true/false
- MCPTransport: "stdio"(如需通过标准输入输出通讯)
- MCPTransportEndpoint: "/mcp"(如使用基于 HTTP 的传输) 说明:同一仓库内有多个服务器模块,每个服务器在启动时会绑定到指定端口并对外暴露工具集。MCP 客户端通过上述配置与服务器建立连接并发送 MCP 命令,服务器返回统一格式的结果对象。
- 基本使用方法
- 连接方式:根据客户端配置选择 WebSocket、SSE 或 StdIO 的传输通道,与相应的 MCP 服务器端口建立连接。
- 调用流程:客户端通过 JSON-RPC 风格的命令发送至 MCP 服务器,服务器将命令路由到相应的工具实现,工具执行后返回带有 emoji 和结构化内容的输出,方便 LLM 客户端理解与显示。
- 常用操作场景:操控相机定位、创建/管理地理实体、驱动和查询 Cesium 场景中的动画与路径等。
- 监控与调试:服务器提供健康端点、连接状态与运行日志,便于排错与运维。
- 备注
- 该仓库中的实现遵循 MCP 的分层结构,提供服务器端核心能力、工具注册、以及对 Cesium 场景的直接控制能力,适合作为与 LLM 的地理信息应用场景的后端支撑。
关键词(3-5 个,逗号分隔) Cesium 后端, 地理信息服务, 工具注册, 动画与路径, 可视化交互
分类ID 6