Install
$ agentstack add mcp-gaopengbin-cesium-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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.
Website · 中文 · Getting Started · API Reference
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 | [](https://www.npmjs.com/package/cesium-mcp-bridge) · [source](packages/cesium-mcp-bridge/) | | examples/browser-agent | Browser-only AI agent (recommended starting point, zero backend) | Recommended | [example](examples/browser-agent/) · live demo | | cesium-mcp-runtime | MCP server (stdio + HTTP) | Stable, slow updates | [](https://www.npmjs.com/package/cesium-mcp-runtime) · [source](packages/cesium-mcp-runtime/) | | cesium-mcp-dev | CesiumJS API knowledge base for coding assistants | Maintained | [](https://www.npmjs.com/package/cesium-mcp-dev) · [source](packages/cesium-mcp-dev/) |
> 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](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](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-CN for 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, 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/](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
[MIT](LICENSE)
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: gaopengbin
- Source: gaopengbin/cesium-mcp
- License: MIT
- Homepage: https://gaopengbin.github.io/cesium-mcp/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.