/ 目錄 / 演練場 / Cesium MCP
● 社群 gaopengbin 🔑 需要你的金鑰

Cesium MCP

作者 gaopengbin · gaopengbin/cesium-mcp

對 CesiumJS 3D 地球儀的自然語言控制 - 飛行相機、放置實體、切換圖層、載入 3D 區塊、動畫軌跡。

cesium-mcp 讓 MCP 用戶端驅動現有的 CesiumJS 檢視器。 12 個工具集中的 58 個工具涵蓋相機/視圖導航、實體(標記、標籤、模型、多邊形、折線)、圖層(GeoJSON、底圖)、互動(螢幕截圖、突出顯示、測量)和進階功能(3D 平鋪、地形、動畫、軌跡、熱圖、地理定位)。 預設啟動Core 31工具;為全套套件設定「CESIUM_TOOLSETS=all」。 將其與任何嵌入 CesiumJS 的應用程式配對,即可獲得 AI 驅動的地理空間視覺化。

為什麼要用

核心特性

即時演示

實際使用效果

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 嵌入您的應用程式中;暴露連接器
  • Cesium Ion 存取權令牌(如果使用 Ion 資產) — https://ion.cesium.com/tokens
步驟
  1. 搭飛機前往現場
    飛往艾菲爾鐵塔並放下一個帶有“站點 A”標籤的紅色標記。✓ 已複製
    → 相機動畫;標記與標籤一起出現
  2. 疊加數據
    將鄰域邊界的 GeoJSON 載入為半透明層。✓ 已複製
    → 圖層可見且可交互
  3. 捕獲
    截取螢幕截圖,我可以將其貼到幻燈片中。✓ 已複製
    → 巴布亞紐幾內亞返回

結果: 即時、可連結的簡報視圖而不是凍結影像。

注意事項
  • 載入巨大的 GeoJSON 而不簡化 — 簡化到合理的頂點數;銫可能會在百萬個頂點的多邊形上窒息
搭配使用: filesystem

以動畫方式呈現艦隊隨時間變化的軌跡

👤 營運和流動團隊 ⏱ ~25 min intermediate

何時使用: 您有帶有時間戳的位置並希望在地球上回放。

前置條件
  • 時間編碼位置數據 — 帶有時間戳記的 CSV 或 GeoJSON
步驟
  1. 載入實體與時間
    增加 3 個車輛實體及其來自艦隊.csv 的 SampledPositionProperty 軌跡。✓ 已複製
    → 實體渲染;時間軸顯示跨度
  2. 以 10 倍動畫,攝影機跟著車輛 A。✓ 已複製
    → 播放流暢;相機鎖定拍攝對象

結果: 互動式機群播放,無需編寫Cesium程式碼。

載入 3D Tiles 資料集並檢查單一建築物

👤 都市計畫、AEC、BIM 團隊 ⏱ ~20 min advanced

何時使用: 您有一個 3D Tiles 圖塊集並想要查詢某個功能。

步驟
  1. 載入圖塊集
    在<URL>處載入3D圖塊,定向地形,設定最大螢幕空間錯誤16。✓ 已複製
    → Tileset 渲染時無需進行深度對抗
  2. 突出顯示 + 測量
    突出顯示所選實體處的建築物;測量它的高度。✓ 已複製
    → 建築物突出顯示;報告身高

結果: 快速互動式檢查以供利害關係人審查。

注意事項
  • 相機剪切地形 — 啟用針對地形的深度測試;調整近/遠剪輯

疊加點數據的熱圖

👤 分析師可視化密度 ⏱ ~15 min intermediate

何時使用: 您需要在地圖上繪製熱圖,而無需外部繪圖工具。

步驟
  1. 攝取點
    導入點.csv(經度、緯度、重量)。✓ 已複製
    → 載入到熱圖工具集中的點
  2. 調整外觀
    熱圖半徑 25px,漸層 viridis。✓ 已複製
    → 樣式疊加可見

結果: 您的地球中內建了一個可防禦的熱圖。

搭配使用: mcp-echarts

組合

與其他 MCP 搭配,撬動十倍槓桿

cesium-mcp + filesystem

載入本機資料集(GeoJSON、CSV)並在地球上渲染

開啟 ./data/points.csv,匯入為地球上的熱圖。✓ 已複製
cesium-mcp + mcp-echarts

將 3D 地球儀與經典統計圖表配對

側面的銫密度圖+echarts直方圖-同步過濾器。✓ 已複製
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 Tiles 渲染與特徵選取 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 配額
伺服器本身沒有;如果您使用 Ion 資產,Cesium Ion 代幣有自己的配額
每次呼叫 Token 數
小型行動; 3D 圖塊/圖像位元組不在令牌計數中
費用
免費—Cesium 是開源的
提示
堅持使用預設的 31 個核心工具,除非您特別需要擴展集;更簡單的表面 = 更少的錯誤轉彎。

安全

權限、密鑰、影響範圍

憑證儲存: 環境變數中的銫離子令牌(如果使用)。
資料出站: 取得您配置的影像/地形提供者(Ion、MapBox、自訂切片伺服器)。

故障排查

常見錯誤與修復

相機跳到太空而不是目標

檢查緯度/經度順序(Cesium 使用 lon、lat)和高度值。

驗證: 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 地圖和 Places API 就足夠了沒有 3D 地球儀或 3D 瓷磚
google-map您已經在 Google 地圖基礎架構上3D 含量不如銫
mcp-echarts您的數據是統計數據,而不是地理空間數據無地圖上下文

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills