
Cesium Mcp Runtime
- 122 repo stars
- Updated July 17, 2026
- gaopengbin/cesium-mcp
Cesium MCP Runtime is a MCP server that AI-controls a CesiumJS 3D globe for camera, layers, markers, and spatial analysis.
About
Cesium MCP Runtime is an MCP server that lets coding agents operate a CesiumJS-powered 3D globe at runtime: adjusting the camera, managing layers and markers, and running spatial analysis helpers described in the project summary. developers prototyping situational awareness dashboards, drone flight viewers, or agent-driven map demos can wire this server so natural-language instructions become concrete globe actions instead of manual clicking through the Cesium API. It ships as the npm package cesium-mcp-runtime at version 1.139.2 alongside the sibling dev package in the same GitHub monorepo. Catalog it under build and integrations because you connect the running viewer instance to MCP during product construction and experimentation, not as a standalone SEO or analytics play. Complexity is intermediate: you need a working Cesium app surface for the runtime tools to target. Use Cesium MCP Dev when writing code; use Runtime when the globe is already live and you want agent control.
- AI-driven camera navigation on a CesiumJS 3D globe
- Add and manage layers and markers through MCP tools
- Spatial analysis operations exposed for agent workflows
- npm package cesium-mcp-runtime (v1.139.2) with stdio MCP
- Pairs with cesium-mcp-dev for API docs versus live control
Cesium Mcp Runtime by the numbers
- Data as of Jul 28, 2026 (Skillselion catalog sync)
claude mcp add cesium-mcp-runtime -- npx -y cesium-mcp-runtimeAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 122 |
|---|---|
| Package | cesium-mcp-runtime |
| Transport | STDIO |
| Auth | None |
| Last updated | July 17, 2026 |
| Repository | gaopengbin/cesium-mcp ↗ |
What it does
Control a live CesiumJS 3D globe from your agent—camera moves, layers, markers, and spatial analysis—while prototyping geo products.
Who is it for?
Best when you have an embedded CesiumJS app and want agent-driven demos, testing, and spatial workflows during development.
Skip if: Pure documentation or codegen tasks with no running Cesium viewer hooked to MCP.
What you get
After registration, your agent can invoke MCP tools to move the camera, manage layers and markers, and run spatial analysis on the live globe.
- Agent-callable tools for globe camera, layers, and markers
- Spatial analysis actions driven through MCP
- Interactive 3D map workflows controllable from the IDE agent
By the numbers
- MCP server version 1.139.2
- npm identifier cesium-mcp-runtime
- stdio MCP transport
README.md
Cesium MCP
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.
Demo
https://github.com/user-attachments/assets/8a40565a-fcdd-47bf-ae67-bc870611c908
Packages & Entry Points
| Module | Role | Status | Links |
|---|---|---|---|
| cesium-mcp-bridge | Protocol-agnostic command dispatcher (60+ tools) | Mainline, actively iterated | |
| examples/browser-agent | Browser-only AI agent (recommended starting point, zero backend) | Recommended | example · live demo |
| cesium-mcp-runtime | MCP server (stdio + HTTP) | Stable, slow updates | |
| cesium-mcp-dev | CesiumJS API knowledge base for coding assistants | Maintained |
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.
Quick Start
Path 0 — Try in 30 seconds (browser agent, recommended)
Open the live demo, paste an OpenAI-compatible API key, and ask:
"Fly to the Eiffel Tower and drop a red marker"
Fork the examples/browser-agent folder to deploy your own.
Path 1 — Embed in your own web app (function calling)
npm install cesium-mcp-bridge
import { CesiumBridge } from 'cesium-mcp-bridge';
const bridge = new CesiumBridge(viewer);
// Then: send the bridge's tool schema to any LLM that supports function/tool calling,
// route the model's tool calls to bridge.execute(name, params).
See examples/browser-agent/index.html for a complete loop with OpenAI-compatible APIs.
Path 2 — Use from Claude Desktop / Cursor / Dify (MCP)
Install bridge as in Path 1, then start the MCP runtime:
# stdio mode (Claude Desktop, VS Code, Cursor)
npx cesium-mcp-runtime
# HTTP mode (Dify, remote/cloud MCP clients)
npx cesium-mcp-runtime --transport http --port 3000
MCP client config:
{
"mcpServers": {
"cesium": {
"command": "npx",
"args": ["-y", "cesium-mcp-runtime"]
}
}
}
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-CNfor Chinese.
| Toolset | Tools |
|---|---|
| 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 |
| camera | lookAtTransform, startOrbit, stopOrbit, setCameraOptions |
| entity-ext | addBillboard, addBox, addCorridor, addCylinder, addEllipse, addRectangle, addWall |
| animation | createAnimation, controlAnimation, removeAnimation, listAnimations, updateAnimationPath, trackEntity, controlClock, setGlobeLighting |
| tiles | load3dTiles, loadTerrain, loadImageryService, loadCzml, loadKml |
| trajectory | playTrajectory |
| heatmap | addHeatmap |
| scene | setSceneOptions, setPostProcess |
| geolocation | geocode |
Relationship with CesiumGS official MCP servers: The
camera,entity-ext, andanimationtoolsets 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}
| Segment | Meaning | Example |
|---|---|---|
1.139 |
Tracks CesiumJS version — built & tested against Cesium ~1.139.0 |
1.139.8 → Cesium 1.139 |
.8 |
MCP patch — independent iterations for new tools, bug fixes, docs | 1.139.7 → 1.139.8 |
When CesiumJS releases a new minor version (e.g. 1.140), we will bump accordingly: 1.140.0.
Related Projects
- mapbox-mcp — AI control for Mapbox GL JS
- openlayers-mcp — AI control for OpenLayers
Star History
License
Recommended MCP Servers
How it compares
Live Cesium globe control MCP, not the dev-focused API documentation server from the same project.
FAQ
Who is Cesium MCP Runtime for?
Developers building CesiumJS applications who want MCP agents to steer the 3D globe during prototyping and integration testing.
When should I use Cesium MCP Runtime?
Use it when a Cesium viewer is running and you need agent-controlled camera, layers, markers, or spatial analysis—not when you only need API docs.
How do I add Cesium MCP Runtime to my agent?
Install cesium-mcp-runtime from npm, connect it via stdio in your MCP config, and ensure your app exposes the runtime integration expected by the server.