-
Notifications
You must be signed in to change notification settings - Fork 6
Feature Request: Add 3D Tiles, Terrain, and Imagery Management Tools #19
Description
Feature
Summary
Add MCP tools for managing 3D Tiles, Terrain providers, and Imagery layers — three core CesiumJS capabilities that are currently missing from the integration.
Motivation
The current cesium-js servers cover camera, entity, and animation operations well. However, real-world CesiumJS applications heavily rely on:
- 3D Tiles — Loading/removing/styling 3D city models, point clouds, and BIM data (
Cesium3DTileset) - Terrain — Switching terrain providers, adjusting terrain exaggeration (
CesiumTerrainProvider,EllipsoidTerrainProvider) - Imagery — Managing base map layers with opacity control (
ImageryLayer,WebMapServiceImageryProvider, etc.)
Without these tools, AI assistants cannot help users with common tasks like "load this 3D Tiles tileset", "switch to Cesium World Terrain", or "add a WMS imagery overlay".
Proposed Tools
3D Tiles Management (new server or extension of existing)
tileset_load— Load a 3D Tileset from URL with optional style and clippingtileset_remove— Remove a loaded tilesettileset_style— Apply/update 3D Tiles styling (color conditions, show conditions)tileset_list— List currently loaded tilesets
Terrain Management
terrain_set— Switch terrain provider (Cesium World Terrain, ellipsoid, custom URL)terrain_get— Get current terrain configurationterrain_configure— Adjust terrain exaggeration, depth test settings
Imagery Management
imagery_add— Add an imagery layer (TMS, WMS, WMTS, URL template, Bing, etc.)imagery_remove— Remove an imagery layerimagery_list— List current imagery layers with visibility/opacityimagery_configure— Adjust layer opacity, visibility, ordering
Community Benefit
These are fundamental CesiumJS features used by virtually every Cesium application. Adding them would significantly expand what AI assistants can do with CesiumJS and close the biggest capability gap in the current integration.
Implementation Notes
I maintain cesium-mcp, a community CesiumJS MCP bridge that already implements some of these capabilities (3D Tiles loading, imagery services, terrain). I'm happy to contribute a PR implementing these tools following the existing Manager + Handler pattern used in camera/entity/animation servers.