MCP server exposing PLATEAU 3D city data as scene-editing and glTF export tools for creative LLM agents.
PLATEAU Creative MCP has well-structured tool definitions with complete JSON schemas and descriptions for all 10 tools. Naming follows verb_noun convention (download_area, load_area, filter_buildings, etc.). However, descriptions are terse (avg ~60 chars, well below the 194-char baseline), parameter descriptions lack detail on constraints and formats, and output schemas are not documented. Error handling is present but generic. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in metadata. Tools are properly registered via ToolRegistry with Zod schemas converted to JSON Schema.
Compose a scene with materials, lighting, and other visual properties
Delete buildings from a scene based on filter criteria
Download PLATEAU artifact data for a geographic area
Export a scene to glTF/GLB format with optional compression
Extrude (scale height of) buildings in a scene by a factor
Filter buildings in a scene based on attributes (height, usage, year built, etc.)
Get attribution metadata for a scene including licenses and data sources
Tool descriptions are extremely terse (avg 60 chars vs 194-char baseline). Descriptions like 'Filter buildings in a scene based on attributes' lack context on WHEN to use the tool, what it returns, and dependencies. LLMs cannot reliably select tools without richer guidance.
Parameter descriptions lack constraint details. 'filter' parameter in filter_buildings and delete_buildings is documented as 'Filter criteria (height_min, height_max, ...)' but does not specify types, ranges, or required vs optional sub-fields. LLMs cannot validate inputs without explicit constraints.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications in metadata (WRITE, DESTRUCTIVE, READ_ONLY). These annotations are part of the current MCP spec and help agents reason about side effects and retry safety.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
Link buildings in a scene to nearby points of interest (POIs) from OpenStreetMap
Load 3D building data for a geographic area into a scene
Render a scene using Blender for high-quality visualization
Output schemas are not documented. Tools return ToolEnvelope<T> with attribution metadata, but the structure of T for each tool is not visible in the provided code. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns.
Error handling is generic. mapMcpError() and AppError are used, but error responses visible in code do not include recovery guidance (e.g., 'Try search_users() first' pattern). Agents cannot self-correct without actionable error messages.