Labsco
gaopengbin logo

cesium-mcp

β˜… 112

from gaopengbin

AI-powered CesiumJS 3D globe control β€” 43 tools for camera, entities, layers, animation, and interaction via MCP protocol. Also available as a remote server via Streamable HTTP.

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeQuick setup
ChatGPT Image 2026εΉ΄7月5ζ—₯ 22_13_19

The minimum-overhead way to add AI commands to CesiumJS

cesium-mcp-bridge is a protocol-agnostic command dispatcher with 60+ tools, drivable from browser-only agents, function calling, or MCP β€” your choice.

Three entry points: Browser Agent (simplest, zero backend) Β· function calling (embed in your web app) Β· MCP runtime (Claude Desktop / Cursor / Dify)

Try it now β€” open the live browser demo, no install, no signup.

Website Β· δΈ­ζ–‡ Β· Getting Started Β· API Reference

<a href="https://www.npmjs.com/package/cesium-mcp-runtime"><img src="https://img.shields.io/npm/dm/cesium-mcp-runtime?label=runtime%20downloads&style=flat-square" alt="Runtime downloads"></a>


Demo

https://github.com/user-attachments/assets/8a40565a-fcdd-47bf-ae67-bc870611c908

Packages & Entry Points

ModuleRoleStatusLinks
cesium-mcp-bridgeProtocol-agnostic command dispatcher (60+ tools)Mainline, actively iteratedΒ· source
examples/browser-agentBrowser-only AI agent (recommended starting point, zero backend)Recommendedexample Β· live demo
cesium-mcp-runtimeMCP server (stdio + HTTP)Stable, slow updatesΒ· source
cesium-mcp-devCesiumJS API knowledge base for coding assistantsMaintainedΒ· source

Which one? Personal project or quick try β†’ browser-agent. Existing web app embedding an AI assistant β†’ bridge + your own function calling. Calling from Claude Desktop / Cursor / Dify β†’ MCP runtime.

Architecture

flowchart LR
  subgraph clients ["AI Drivers (pick one)"]
    BA["Browser Agent\n(in the same page)"]
    FC["Your web app\nfunction calling"]
    MCP["Claude / Cursor / Dify\nvia MCP runtime"]
  end

  subgraph core ["cesium-mcp-bridge (browser)"]
    B["60+ tools\nprotocol-agnostic dispatcher"]
    C["CesiumJS Viewer"]
  end

  BA -- "in-page call" --> B
  FC -- "in-page call" --> B
  MCP -- "WebSocket / JSON-RPC" --> B
  B --> C

  style clients fill:#1e293b,stroke:#528bff,color:#e2e8f0
  style core fill:#1e293b,stroke:#12B76A,color:#e2e8f0

The bridge is the only required piece. Pick whichever driver matches your scenario β€” they all hit the same 60+ tools.

58 Available Tools

Tools are organized into 12 toolsets. Default mode enables 4 core toolsets (~31 tools). Set CESIUM_TOOLSETS=all for everything, or let the AI discover and activate toolsets dynamically at runtime.

i18n: Tool descriptions default to English. Set CESIUM_LOCALE=zh-CN for Chinese.

ToolsetTools
view (default)flyTo, setView, getView, zoomToExtent, saveViewpoint, loadViewpoint, listViewpoints, exportScene
entity (default)addMarker, addLabel, addModel, addPolygon, addPolyline, updateEntity, removeEntity, batchAddEntities, queryEntities, getEntityProperties
layer (default)addGeoJsonLayer, listLayers, removeLayer, clearAll, setLayerVisibility, updateLayerStyle, getLayerSchema, setBasemap
interaction (default)screenshot, highlight, measure
cameralookAtTransform, startOrbit, stopOrbit, setCameraOptions
entity-extaddBillboard, addBox, addCorridor, addCylinder, addEllipse, addRectangle, addWall
animationcreateAnimation, controlAnimation, removeAnimation, listAnimations, updateAnimationPath, trackEntity, controlClock, setGlobeLighting
tilesload3dTiles, loadTerrain, loadImageryService, loadCzml, loadKml
trajectoryplayTrajectory
heatmapaddHeatmap
scenesetSceneOptions, setPostProcess
geolocationgeocode

Relationship with CesiumGS official MCP servers: The camera, entity-ext, and animation toolsets natively fuse capabilities from CesiumGS/cesium-mcp-server (Camera Server, Entity Server, Animation Server) into this project's unified bridge architecture. This means you get all official functionality plus additional tools β€” in a single MCP server, without running multiple processes.

Examples

See examples/minimal/ for a complete working demo.

Development

git clone https://github.com/gaopengbin/cesium-mcp.git
cd cesium-mcp
npm install
npm run build

Version Policy

Version format: {CesiumMajor}.{CesiumMinor}.{MCPPatch}

SegmentMeaningExample
1.139Tracks CesiumJS version β€” built & tested against Cesium ~1.139.01.139.8 β†’ Cesium 1.139
.8MCP patch β€” independent iterations for new tools, bug fixes, docs1.139.7 β†’ 1.139.8

When CesiumJS releases a new minor version (e.g. 1.140), we will bump accordingly: 1.140.0.