cesium-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CESIUM_TOOLSETS | No | Comma-separated list of toolset groups to enable (e.g. camera,bindbindentity,bindlayer). Use 'all' for all 43 tools. | all |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| flyToA | Animate the camera to a geographic location. Use for visible navigation requested by the user. Returns { success: boolean, message?: string, error?: string }. |
| addGeoJsonLayerA | Add a styled GeoJSON Point, LineString, or Polygon layer. Returns { success, data: { id, name, type, visible, color, dataRefId? }, message? }; use id with highlight. |
| addGeoJsonPrimitiveB | Render GeoJSON as Cesium primitives for large browser datasets. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| addLabelA | Add property-based text labels for GeoJSON features. Returns { success, data: { labelCount: integer }, message? }. |
| removeLayerA | Remove a managed layer from the page. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| clearAllA | Clear all layers, entities, animations, and trajectories from the scene. Returns { success, data: { removedLayers, removedEntities }, message? }. |
| setBasemapA | Switch the visible basemap style. Returns { success, data: { basemap }, message? }. |
| screenshotA | Capture the current Cesium map view as a PNG image. Returns { success, data: { dataUrl, width, height }, message? }; dataUrl is a base64 PNG. |
| highlightA | Highlight one feature or every feature in a GeoJSON layer. Returns { success: boolean, message?: string, error?: string }. |
| measureA | Measure distance or area between geographic coordinate tuples. Returns { success, data: { mode, value, unit, segments?, id? }, message? }. |
| setViewA | Set the camera position immediately without animation. Use for deterministic setup or instant view changes. Returns { success: boolean, message?: string, error?: string }. |
| getViewA | Get the current camera position and orientation. Returns { success, data: { longitude, latitude, height, heading, pitch, roll }, message? }. |
| zoomToExtentA | Animate the camera to a west/south/east/north bounding box. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| addMarkerA | Add a point marker at geographic coordinates. Returns { success, data: { entityId }, message? }; keep entityId for removeEntity. |
| addPolylineA | Draw a path or route from geographic coordinate tuples. Returns { success, data: { entityId }, message? }; keep entityId for removeEntity. |
| addPolygonA | Draw a polygon area from geographic coordinate tuples. Returns { success, data: { entityId }, message? }; keep entityId for removeEntity. |
| addModelA | Add a glTF or GLB model at geographic coordinates. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| updateEntityA | Update the position, appearance, label, or visibility of an entity. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| removeEntityA | Remove one entity created by an entity tool. Returns { success, message? } or { success: false, error } when entityId is not found. |
| batchAddEntitiesA | Add multiple supported entities in one page operation. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| queryEntitiesA | Query page entities by name, type, or geographic extent. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| getEntityPropertiesA | Read the properties and graphics metadata for one entity. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| saveViewpointA | Save the current camera state under a page-local name. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| loadViewpointA | Restore a previously saved page-local camera state. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| listViewpointsA | List camera viewpoints saved in the current page. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| exportSceneA | Export the current view, layer, and entity state as JSON. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| setLayerVisibilityA | Show or hide a managed layer. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| listLayersA | List all layers currently managed by the page. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| getLayerSchemaA | Inspect fields, entity counts, and metadata for a layer. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| updateLayerStyleA | Update vector, imagery, primitive, or 3D Tiles styling for a layer. Returns { success: boolean, data?: unknown, message?: string, error?: string }. |
| list_toolsetsA | List all available tool groups and their enabled status. Call this to discover additional capabilities before asking the user to configure anything. |
| enable_toolsetA | Enable a tool group to make its tools available. Call list_toolsets first to see available groups. |
| listSessionsA | List all connected browser sessions (ID and connection state) for multi-browser routing |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| cesium-quickstart | Quick reference for using Cesium MCP tools |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| camera | 当前相机状态(经纬度、高度、角度) |
| layers | 当前已加载的图层列表(ID、名称、类型、可见性) |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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