/ 目录 / 演练场 / Cesium MCP
● 社区 gaopengbin 🔑 需要你的密钥

Cesium MCP

作者 gaopengbin · gaopengbin/cesium-mcp

CesiumJS 3D地球仪的自然语言控制—飞行摄像头、放置实体、切换图层、加载3D图块、动画轨迹。

cesium-mcp允许MCP客户端驱动现有的CesiumJS查看器。12个工具集的58个工具涵盖相机/视图导航、实体(标记、标签、模型、多边形、折线)、图层( GeoJSON、底图)、交互(屏幕截图、高亮显示、测量)和高级功能( 3D图块、地形、动画、轨迹、热图、地理位置)。核心31工具默认激活;为整个套件设置“CESIUM_toolsets = all”。 将其与嵌入CesiumJS的任何应用程序配对,以获得人工智能驱动的地理空间可视化。

为什么要用

核心特性

实时演示

实际使用效果

cesium-mcp.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "cesium-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "cesium-mcp-runtime"
      ],
      "env": {
        "CESIUM_TOOLSETS": "all"
      }
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "cesium-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "cesium-mcp-runtime"
      ],
      "env": {
        "CESIUM_TOOLSETS": "all"
      }
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "cesium-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "cesium-mcp-runtime"
      ],
      "env": {
        "CESIUM_TOOLSETS": "all"
      }
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "cesium-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "cesium-mcp-runtime"
      ],
      "env": {
        "CESIUM_TOOLSETS": "all"
      }
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "cesium-mcp",
      "command": "npx",
      "args": [
        "-y",
        "cesium-mcp-runtime"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "cesium-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "cesium-mcp-runtime"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add cesium-mcp -- npx -y cesium-mcp-runtime

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: Cesium MCP

在直播地球仪上播放位置简报

👤 运营、物流和规划团队 ⏱ ~15 min intermediate

何时使用: 您需要的是实时3D简报,而不是静态幻灯片。

前置条件
  • 正在运行的CesiumJS查看器应用程序 — 在应用程序中嵌入Cesium ;暴露连接器
  • 铯离子访问令牌(如果使用离子资产) — https://ion.cesium.com/tokens
步骤
  1. 飞往现场
    飞往埃菲尔铁塔( Eiffel Tower ) ,放置一个带有“Site A”标签的红色标记。✓ 已复制
    → 摄像机动画;标记显示标签
  2. 叠加数据
    将此邻域边界的GeoJSON作为半透明图层加载。✓ 已复制
    → 图层可见和交互式
  3. Capture
    拍摄我可以粘贴到幻灯片中的屏幕截图。✓ 已复制
    → PNG已返回

结果: 实时、可链接的简报视图,而不是冻结的图像。

注意事项
  • 无需简化即可加载庞大的GeoJSON — 简化到合理的顶点数;铯可以在百万个顶点多边形上窒息
搭配使用: filesystem

动画显示车队随时间变化的轨迹

👤 运营和移动团队 ⏱ ~25 min intermediate

何时使用: 您有带时间戳的位置,并希望在全球范围内播放。

前置条件
  • 时间编码位置数据 — 带时间戳的CSV或GeoJSON
步骤
  1. 加载带时间的实体
    从fleet.csv添加3个车辆实体及其SampledPositionProperty轨道。✓ 已复制
    → 实体渲染;时间轴显示跨度
  2. 玩耍
    动画为10倍,摄像头跟随车辆A。✓ 已复制
    → 平滑播放;相机锁定到拍摄对象

结果: 无需编写Cesium代码即可进行交互式车队播放。

加载3D瓷砖数据集并检查单个建筑物

👤 城市规划、AEC、BIM团队 ⏱ ~20 min advanced

何时使用: 您有一个3D图块图块集,并希望查询地图项。

步骤
  1. 加载磁贴组
    加载3D图块<URL>,定向地形,设置最大屏幕空间错误16。✓ 已复制
    → Tileset渲染没有深度战斗
  2. 突出显示+测量
    突出显示所选实体处的建筑物;测量其高度。✓ 已复制
    → 建筑物突出显示;已报告高度

结果: 用于利益相关者审核的快速交互式检查。

注意事项
  • 摄像头在地形中剪切 — 启用针对地形的深度测试;调谐近/远剪辑

覆盖点数据的热图

👤 分析师可视化密度 ⏱ ~15 min intermediate

何时使用: 您需要地图上的热图,而无需外部绘图工具。

步骤
  1. 摄入点
    导入points.csv (lon, lat, weight)。✓ 已复制
    → 加载到热图工具集中的点
  2. 调整外观
    热图半径25px ,渐变viridis。✓ 已复制
    → 可见样式叠加层

结果: 内置于地球仪中的可防御热图。

搭配使用: mcp-echarts

组合

与其他 MCP 搭配,撬动十倍杠杆

cesium-mcp + filesystem

加载本地数据集( GeoJSON、CSV )并在全球渲染

打开./data/points.csv ,导入为全球热图。✓ 已复制
cesium-mcp + mcp-echarts

将3D地球仪与经典统计图表配对

铯密度图+侧面图表直方图—同步过滤器。✓ 已复制
cesium-mcp + fetch

拉动实时馈送( AIS、ADS-B )和动画

获取实时船只位置并每30秒更新一次实体。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
camera.flyTo / lookAt / saveView / loadView coords / heading / pitch / roll 相机导航 0
entities.add / update / remove geometry + styling 标记、标签、模型、多边形、折线 0
layers.add (GeoJSON / imagery) / toggle source + style 切换或添加地理空间图层 bandwidth for remote sources
tiles3d.load / query tileset URL 3D瓷砖渲染和特征拾取 0
terrain.set terrain provider 交换地形提供者 0
animation.play / trajectory.load time interval / track 基于时间的播放 0
interaction.screenshot / highlight / measure area or picked entity 捕获、选择和测量 0
heatmap.add points + radius + gradient 密度可视化 0
geolocation.goto name or coords 已命名位置导航 0

成本与限制

运行它的成本

API 配额
服务器本身没有;如果您使用离子资产,铯离子代币有自己的配额
每次调用 Token 数
小型操作; 3D图块/图像字节不在令牌计数中
费用
免费— Cesium是开源的
提示
除非您特别需要扩展套件,否则请坚持使用默认的31个核心工具;更简单的表面=更少的错误转弯。

安全

权限、密钥、影响范围

凭据存储: 如果使用了env var中的铯离子令牌。
数据出站: 获取您配置的图像/地形提供程序( Ion、MapBox、自定义图块服务器)。

故障排查

常见错误与修复

摄像头跳转到空间而不是目标

检查纬度/经度顺序(铯使用经度,纬度)和海拔值。

验证: Log args passed to camera.flyTo
GeoJSON看起来很平

地形采样已关闭;在图层选项中启用clampToGround。

验证: Inspect the layer's styling options
瓷砖组黑色/缺失

CORS会阻止许多磁贴组;具有正确标头的主机或代理。

验证: DevTools Network panel for the tileset URL

替代方案

Cesium MCP 对比其他方案

替代方案何时用它替代权衡
google-maps2D地图和位置API就足够了没有3D地球仪或3D瓷砖
google-map您已使用Google地图infra富含3D的含量低于铯
mcp-echarts您的数据是统计数据,而不是地理空间数据无地图上下文

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills