Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CESIUM_TOOLSETSNoComma-separated list of toolset groups to enable (e.g. camera,bindbindentity,bindlayer). Use 'all' for all 43 tools.all

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
openCesiumMapA

Open an interactive 3D map beside the conversation. Pass the returned sessionId to every map tool. Call once to open the map, then wait until its browser session connects before sending commands. Optionally reopen a known session.

connectCesiumMapD

Internal map app transport: connect.

exchangeCesiumMapD

Internal map app transport: exchange.

disconnectCesiumMapC

Internal map app transport: disconnect.

flyToA

Animate the camera to a geographic location. Use for visible navigation requested by the user. Returns { success: boolean, message?: string, error?: string }.

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 }.

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 }.

addMarkerA

Add a point marker at geographic coordinates. Returns { success, data: { entityId }, message? }; keep entityId for removeEntity.

addLabelC

Add property-based text labels for GeoJSON features. Returns { success, data: { labelCount: integer }, message? }.

addModelA

Add a glTF or GLB model at geographic coordinates. Returns { success: boolean, data?: unknown, message?: string, error?: string }.

addPolygonA

Draw a polygon area from geographic coordinate tuples. 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.

updateEntityB

Update the position, appearance, label, visibility, or polygon extrusion height of an entity, including data-source entities. 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.

batchAddEntitiesC

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 }.

addGeoJsonLayerB

Add a styled GeoJSON Point, LineString, or Polygon layer. Returns { success, data: { id, name, type, visible, color, dataRefId? }, message? }; use id with highlight.

addGeoJsonPrimitiveA

Render GeoJSON as Cesium primitives for large browser datasets. 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. For vector/3D Tiles, metadata.tileStyle returns the applied style expressions. Returns { success: boolean, data?: unknown, message?: string, error?: string }.

getSelectedTileFeatureA

Read the last clicked managed vector/3D Tiles feature attributes and layerId. Use updateLayerStyle with that layerId to style it. Returns feature=null when nothing is selected; metadata is a snapshot, not a whole-dataset query. Returns { success: boolean, data?: unknown, message?: string, error?: string }.

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? }.

setLayerVisibilityA

Show or hide a managed layer. Returns { success: boolean, data?: unknown, message?: string, error?: string }.

updateLayerStyleB

Update vector, imagery, primitive, or 3D Tiles styling for a layer. Returns { success: boolean, data?: unknown, message?: string, error?: string }.

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? }.

storeResourceA

Store GeoJSON, CZML, or JSON once and return a compact resourceId for later tool calls.

listResourcesA

List resource metadata for the current browser or MCP session without returning payloads.

deleteResourceB

Delete one session-scoped resource by resourceId.

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

NameDescription
cesium-quickstartQuick reference for using Cesium MCP tools

Resources

Contextual data attached and managed by the client

NameDescription
camera当前相机状态(经纬度、高度、角度)
layers当前已加载的图层列表(ID、名称、类型、可见性)
Cesium mapInteractive CesiumJS map with session routing and selected-object context.

TDQS

C2.9/5.0

Scored across 41 tools

Disambiguation4/5

Most tools target clearly distinct resources and actions: camera, layers, entities, resources, basemap, measurement, and meta-toolsets are separated well. There is some overlap around map connection (openCesiumMap vs connectCesiumMap/internal transport) and GeoJSON rendering (addGeoJsonLayer vs addGeoJsonPrimitive), but the descriptions generally clarify when to use each.

Naming Consistency3/5

The dominant pattern is camelCase verb_noun, which is readable and mostly predictable. However, list_toolsets and enable_toolset use snake_case, and a few tools are standalone verbs or nouns (screenshot, highlight, measure), so the set is not fully consistent.

Tool Count2/5

At 41 tools, the surface is heavy for a Cesium map server and exceeds the typical 3-15 well-scoped range. The tools are grouped logically, but exposing internal transport tools and many specialized operations makes the set over-scoped.

Completeness3/5

Core CRUD and lifecycle coverage is strong for entities, layers, camera viewpoints, basemaps, resources, screenshots, measurement, and clearing. Notable gaps remain: there are no explicit animation/trajectory tools despite clearAll referencing them, no clear CZML rendering path despite storeResource accepting CZML, and no viewpoint deletion operation.

Maintenance

ActivityActive
ResponsivenessWithin a week