cesium-mcp
The cesium-mcp server enables AI-powered control of a CesiumJS 3D globe through natural language commands via MCP-compatible clients (Claude Desktop, VS Code, Cursor, Dify, n8n).
Camera & Navigation
flyTo— Animated flight to coordinates with configurable height, pitch, heading, and durationsetView— Instantly jump to a locationgetView— Retrieve current camera position (lat/lon, height, angles)zoomToExtent— Zoom to a geographic bounding box
Map Layers
addGeoJsonLayer— Add GeoJSON data with configurable styles (choropleth, category rendering)removeLayer,listLayers,setLayerVisibility,updateLayerStyle— Full layer lifecycle managementsetBasemap— Switch between dark, satellite, and standard basemaps
Entities (Points, Lines, Polygons, Models)
addMarker,addLabel,addPolyline,addPolygon,addModel— Place markers, text, paths, areas, and 3D glTF/GLB modelsupdateEntity,removeEntity— Modify or delete existing entities
Interaction & Visualization
screenshot— Capture the current view as a base64 PNGhighlight— Highlight layer features with a configurable color
Toolset Discovery & Extensibility
list_toolsets— List all 12 toolsets (58 total tools) and their enabled statusenable_toolset— Dynamically enable additional capabilities such ascamera,animation,tiles,trajectory,heatmap,scene,geolocation, and more
Supports English and Chinese tool descriptions based on locale settings, and connects via stdio or HTTP transport.
Enables AI-powered control of CesiumJS 3D globes, allowing for camera manipulation, management of layers and markers, spatial analysis, and scene interaction through natural language commands.
Demo
https://github.com/user-attachments/assets/8a40565a-fcdd-47bf-ae67-bc870611c908
Packages
Package | Description | npm |
Browser SDK — embeds in your CesiumJS app, receives commands via WebSocket | ||
MCP Server (stdio + HTTP) — 58 tools (12 toolsets) + 2 resources, dynamic discovery | ||
IDE MCP Server — CesiumJS API helper for coding assistants |
Architecture
flowchart LR
subgraph clients ["AI Clients"]
A["Claude / Cursor\nVS Code"]
D["Dify / n8n\nRemote MCP"]
end
subgraph server ["cesium-mcp-runtime\n(Node.js)"]
R["MCP Server\n58 tools · 12 toolsets"]
end
subgraph browser ["Browser"]
B["cesium-mcp-bridge"]
C["CesiumJS Viewer"]
end
A -- "stdio / MCP" --> R
D -- "Streamable HTTP" --> R
R -- "WebSocket\nJSON-RPC" --> B
B --> C
style clients fill:#1e293b,stroke:#528bff,color:#e2e8f0
style server fill:#1e293b,stroke:#155EEF,color:#e2e8f0
style browser fill:#1e293b,stroke:#12B76A,color:#e2e8f0Quick Start
1. Install the bridge in your CesiumJS app
npm install cesium-mcp-bridgeimport { CesiumBridge } from 'cesium-mcp-bridge';
const bridge = new CesiumBridge(viewer);2. Start the MCP runtime
# stdio mode (default — for Claude Desktop, VS Code, Cursor)
npx cesium-mcp-runtime
# HTTP mode (for Dify, remote/cloud MCP clients)
npx cesium-mcp-runtime --transport http --port 30003. Connect your AI agent
Add to your MCP client config (e.g. Claude Desktop):
{
"mcpServers": {
"cesium": {
"command": "npx",
"args": ["-y", "cesium-mcp-runtime"]
}
}
}Now ask your AI: "Fly to the Eiffel Tower and add a red marker"
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) |
|
entity (default) |
|
layer (default) |
|
interaction (default) |
|
camera |
|
entity-ext |
|
animation |
|
tiles |
|
trajectory |
|
heatmap |
|
scene |
|
geolocation |
|
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 buildVersion Policy
Version format: {CesiumMajor}.{CesiumMinor}.{MCPPatch}
Segment | Meaning | Example |
| Tracks CesiumJS version — built & tested against Cesium |
|
| MCP patch — independent iterations for new tools, bug fixes, docs |
|
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
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gaopengbin/cesium-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server