cesium-mcp
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.
Cesium MCP
AI-Powered 3D Globe Control via Model Context Protocol
Connect any MCP-compatible AI agent to CesiumJS — camera, layers, entities, spatial analysis, all through natural language.
Demo
https://github.com/user-attachments/assets/8a40565a-fcdd-47bf-ae67-bc870611c908
Packages
| Package | Description | npm |
|---|---|---|
| cesium-mcp-bridge | Browser SDK — embeds in your CesiumJS app, receives commands via WebSocket | |
| cesium-mcp-runtime | MCP Server (stdio) — 58 tools (12 toolsets) + 2 resources, dynamic discovery | |
| cesium-mcp-dev | IDE MCP Server — CesiumJS API helper for coding assistants |
Architecture
┌──────────────┐ stdio ┌──────────────────┐ WebSocket ┌──────────────────┐
│ AI Agent │ ◄────────► │ cesium-mcp- │ ◄─────────► │ cesium-mcp- │
│ (Claude, │ MCP │ runtime │ JSON-RPC │ bridge │
│ Cursor…) │ │ (Node.js) │ │ (Browser) │
└──────────────┘ └──────────────────┘ └──────────────────┘
│
┌──────▼──────┐
│ CesiumJS │
│ Viewer │
└─────────────┘
Quick Start
1. Install the bridge in your CesiumJS app
npm install cesium-mcp-bridge
import { CesiumMcpBridge } from 'cesium-mcp-bridge';
const bridge = new CesiumMcpBridge(viewer, { port: 9100 });
bridge.connect();
2. Start the MCP runtime
npx cesium-mcp-runtime
3. 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"
49 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.
License
Verwandte Server
Scout Monitoring MCP
SponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
SponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Aluvia
The Aluvia MCP server exposes browser session management, geo-targeting, and account operations as Model Context Protocol tools for AI agents.
Contract Inspector
Retrieve on-chain information for EVM contracts locally using an Ethereum RPC node and Etherscan API.
Replicate FLUX.1 Kontext [Max]
Image generation and editing using the FLUX.1 Kontext [Max] model via the Replicate API, featuring advanced text rendering and contextual understanding.
microCMS
Manage content on the microCMS headless CMS using its content and management APIs.
Enhanced AutoGen MCP Server
Integrates with Microsoft's AutoGen framework to enable sophisticated multi-agent conversations via the Model Context Protocol.
Cyberlink MCP Server
Interact with the CW-Social smart contract on Cosmos-based blockchains.
MCP Expert Server
An MCP server for query generation and documentation assistance using Claude AI.
PydanticRPC
A Python library for building gRPC/ConnectRPC services with Pydantic models, featuring automatic protobuf generation and AI assistant tool exposure.
GoMCP
A Go library for building clients and servers using the Model Context Protocol (MCP).
Vibe-Coder
A server for a structured, LLM-based coding workflow, from feature clarification and planning to phased development and progress tracking.