Cesium MCP
Control a CesiumJS 3D globe from AI: 62 commands for camera, layers, models and animation over MCP, WebMCP or function calling
- 151 ★ on the repository
- Last commit
Extended access
Why this level
- Usage statistics are on by default and a variable turns them off
- The server opens a local viewer and port, and the Cesium ion token lives in scene settings
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/cesium-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Usage statistics are on by default and a variable turns them off
- The server opens a local viewer and port, and the Cesium ion token lives in scene settings
This is third-party code. Review the repository files before installing.
What it does
Cesium MCP turns a CesiumJS map into a set of commands that an agent calls. The core, `cesium-mcp-bridge`, executes commands and is not tied to a protocol, while separate adapters expose them over MCP, through WebMCP in the browser, as LLM function calling or as a built-in browser agent. Claude Desktop, Cursor and Dify need only the `cesium-mcp-runtime` package, which already includes the bridge and a viewer at `http://localhost:9100/`. There are 62 commands in 12 toolsets: view and camera, entities, layers, interaction, animation, 3D tiles and terrain, heatmaps, trajectories and scene. The four core toolsets with 30 tools are on by default, and the rest are enabled with `CESIUM_TOOLSETS=all` or on the agent's request. The agent places markers and polygons, loads GeoJSON, CZML and KML, takes screenshots and measures distances.
Who it is for. Developers of geospatial apps and analysts who need to drive a CesiumJS 3D map through an agent.
Good fit when
- In Claude Desktop you ask to fly over a city and place markers on points from GeoJSON
- A web app with a map gets an assistant: the `cesium-mcp-bridge` bridge feeds schemas into function calling
- You need a scene with 3D tiles, terrain and a heatmap from data and not manual Cesium setup
- A WebMCP-capable browser explores the page and tools register in `document.modelContext`
Not a fit when
- You need a flat map without 3D: Leaflet or MapLibre with their own tools are simpler
- You need server-side geodata processing without a browser: the scene lives in a viewer and commands do not run without it
- You need a guarantee of no telemetry: usage statistics are on by default
Example request
Show Manhattan on the globe, orbit around it, add markers for the points from this GeoJSON and take a screenshotMCP
- Transport
- stdio, http
- Authentication
- not required
Environment variables
CESIUM_TOOLSETS- Which toolsets to enable, `all` enables all 12.
CESIUM_TELEMETRY_DISABLED- Value 1 turns off usage statistics.
Limitations
Usage statistics are on by default and are turned off with `CESIUM_TELEMETRY_DISABLED=1` in Node or `globalThis.CESIUM_MCP_TELEMETRY_DISABLED=true` in the browser before initialization. External MCP clients need the local `cesium-mcp-runtime` package, and the bridge is installed separately only for your own page. WebMCP works in experimental Chrome 149 and newer with the flags on. Package versions follow CesiumJS 1.147 and the Cesium ion token is set through the `setIonToken` tool. The Cesium Map plugin for Codex is a community beta and needs an MCP Apps host. The license is MIT.
How to disable. Remove the `cesium` entry from the client config (`claude mcp remove cesium`), stop the `cesium-mcp-runtime` process and drop `cesium-mcp-bridge` from your page dependencies.
FAQ
How do I connect Cesium MCP to Claude Desktop?
Run `npx -y cesium-mcp-runtime` and put this command in `mcpServers` of the client config. For HTTP add `--transport http --port 3000`.
How many tools are there and how are they enabled?
There are 62 commands in 12 toolsets. Four toolsets with 30 tools are on by default and `CESIUM_TOOLSETS=all` turns them all on.
Do I need to install the bridge separately?
No, an external MCP client needs only `cesium-mcp-runtime`, which includes the bridge and a viewer. The `cesium-mcp-bridge` package is installed separately to embed in your own page.
How do I turn off telemetry?
Set `CESIUM_TELEMETRY_DISABLED=1` in Node or `globalThis.CESIUM_MCP_TELEMETRY_DISABLED=true` in the browser before initialization. The fields are described in the telemetry guide.
What is the WebMCP path?
It registers 61 browser commands and three resources in `document.modelContext` with no separate server. It works in experimental Chrome 149 and newer with the `#enable-webmcp-testing` and `#devtools-webmcp-support` flags.
Discussion
No questions or reviews yet.
Related
MCP servers2GIS MCP
2GIS MCP (mapgl-mcp-server)
2GIS's official MCP server: place search, geocoding, routes, isochrones and static maps via the 2GIS APIs, needs a key from the Platform Manager
A read-only MCP for the GeoLens geospatial data catalog: datasets, schemas, features, maps, stories and a safe SELECT.
Mapbox's official MCP server: geocoding, place search, routing, isochrones, in-chat maps and offline geo calculations
An MCP server with a toolbox for global briefs: markets, SEC filings, conflict, climate and news from open sources
MapGL MCP Server (prototype)
MapGL MCP Server
A small MCP prototype on top of 2GIS's MapGL JS API, giving an LLM map access for queries like comparing districts by cafe density
An MCP server of science agents: Claude Code analyzes spectra and images, plans experiments and prepares DFT calculations
README in short
The text explains that the project is not tied to one protocol: the bridge executes commands and adapters expose them over MCP, WebMCP, function calling or a browser agent. Then come four integration paths, Claude Desktop setup, a table of 12 toolsets and versioning rules.