Skip to content

Feature Request: Add 3D Tiles, Terrain, and Imagery Management Tools #19

@gaopengbin

Description

@gaopengbin

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:

  1. 3D Tiles — Loading/removing/styling 3D city models, point clouds, and BIM data (Cesium3DTileset)
  2. Terrain — Switching terrain providers, adjusting terrain exaggeration (CesiumTerrainProvider, EllipsoidTerrainProvider)
  3. 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 clipping
  • tileset_remove — Remove a loaded tileset
  • tileset_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 configuration
  • terrain_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 layer
  • imagery_list — List current imagery layers with visibility/opacity
  • imagery_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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions