← WebMCP Directory

Tool tree

cesium-browser-agent.pages.dev

livePlaygrounds & Games
https://cesium-browser-agent.pages.dev/
Cesium Agent Lab
Explore capabilities
flyToact

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

View tool JSON
{
  "name": "flyTo",
  "kind": "act",
  "impl": "imperative",
  "description": "Animate the camera to a geographic location. Use for visible navigation requested by the user. Returns { success: boolean, message?: string, error?: string }.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "longitude": {
        "type": "number",
        "minimum": -180,
        "maximum": 180,
        "description": "Longitude in decimal degrees"
      },
      "latitude": {
        "type": "number",
        "minimum": -90,
        "maximum": 90,
        "description": "Latitude in decimal degrees"
      },
      "height": {
        "type": "number",
        "minimum": 0,
        "maximum": 50000000,
        "description": "Height above the ellipsoid in meters"
      },
      "heading": {
        "type": "number",
        "minimum": 0,
        "maximum": 360
      },
      "pitch": {
        "type": "number",
        "minimum": -90,
        "maximum": 90
      },
      "duration": {
        "type": "number",
        "minimum": 0,
        "maximum": 60
      }
    },
    "required": [
      "longitude",
      "latitude"
    ],
    "additionalProperties": false
  }
}
setViewact

Set the camera position immediately without animation. Use for deterministic setup or instant view changes. Returns { success: boolean, message?: string, error?: string }.

View tool JSON
{
  "name": "setView",
  "kind": "act",
  "impl": "imperative",
  "description": "Set the camera position immediately without animation. Use for deterministic setup or instant view changes. Returns { success: boolean, message?: string, error?: string }.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "longitude": {
        "type": "number",
        "minimum": -180,
        "maximum": 180,
        "description": "Longitude in decimal degrees"
      },
      "latitude": {
        "type": "number",
        "minimum": -90,
        "maximum": 90,
        "description": "Latitude in decimal degrees"
      },
      "height": {
        "type": "number",
        "minimum": 0,
        "maximum": 50000000,
        "description": "Height above the ellipsoid in meters"
      },
      "heading": {
        "type": "number",
        "minimum": 0,
        "maximum": 360
      },
      "pitch": {
        "type": "number",
        "minimum": -90,
        "maximum": 90
      },
      "roll": {
        "type": "number",
        "minimum": -180,
        "maximum": 180
      }
    },
    "required": [
      "longitude",
      "latitude"
    ],
    "additionalProperties": false
  }
}
getViewanswer

Get current camera position (longitude, latitude, height, angles) Returns { success, data: { longitude, latitude, height, heading, pitch, roll }, message? }.

View tool JSON
{
  "name": "getView",
  "kind": "answer",
  "impl": "imperative",
  "description": "Get current camera position (longitude, latitude, height, angles) Returns { success, data: { longitude, latitude, height, heading, pitch, roll }, message? }.",
  "inputSchema": {
    "type": "object",
    "properties": {}
  }
}
addMarkeract

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

View tool JSON
{
  "name": "addMarker",
  "kind": "act",
  "impl": "imperative",
  "description": "Add a point marker at coordinates, returns entityId for later reference Returns { success, data: { entityId }, message? }; keep entityId for removeEntity.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "longitude": {
        "type": "number",
        "minimum": -180,
        "maximum": 180,
        "description": "Longitude in decimal degrees"
      },
      "latitude": {
        "type": "number",
        "minimum": -90,
        "maximum": 90,
        "description": "Latitude in decimal degrees"
      },
      "label": {
        "type": "string",
        "maxLength": 200
      },
      "color": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64,
        "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
      },
      "size": {
        "type": "number",
        "minimum": 1,
        "maximum": 128
      },
      "id": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "required": [
      "longitude",
      "latitude"
    ],
    "additionalProperties": false
  }
}
addPolylineact

Draw a polyline (path/route) on the map, returns entityId Returns { success, data: { entityId }, message? }; keep entityId for removeEntity.

View tool JSON
{
  "name": "addPolyline",
  "kind": "act",
  "impl": "imperative",
  "description": "Draw a polyline (path/route) on the map, returns entityId Returns { success, data: { entityId }, message? }; keep entityId for removeEntity.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "coordinates": {
        "type": "array",
        "items": {
          "type": "array",
          "prefixItems": [
            {
              "type": "number",
              "minimum": -180,
              "maximum": 180,
              "description": "Longitude in decimal degrees"
            },
            {
              "type": "number",
              "minimum": -90,
              "maximum": 90,
              "description": "Latitude in decimal degrees"
            },
            {
              "type": "number",
              "minimum": -12000,
              "maximum": 50000000,
              "description": "Optional height in meters"
            }
          ],
          "minItems": 2,
          "maxItems": 3,
          "description": "Coordinate tuple [longitude, latitude, optional height]"
        },
        "minItems": 2,
        "maxItems": 10000
      },
      "color": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64,
        "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
      },
      "width": {
        "type": "number",
        "minimum": 1,
        "maximum": 64
      },
      "clampToGround": {
        "type": "boolean"
      },
      "label": {
        "type": "string",
        "maxLength": 200
      }
    },
    "required": [
      "coordinates"
    ],
    "additionalProperties": false
  }
}
addPolygonact

Draw a polygon area on the map, returns entityId Returns { success, data: { entityId }, message? }; keep entityId for removeEntity.

View tool JSON
{
  "name": "addPolygon",
  "kind": "act",
  "impl": "imperative",
  "description": "Draw a polygon area on the map, returns entityId Returns { success, data: { entityId }, message? }; keep entityId for removeEntity.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "coordinates": {
        "type": "array",
        "items": {
          "type": "array",
          "prefixItems": [
            {
              "type": "number",
              "minimum": -180,
              "maximum": 180,
              "description": "Longitude in decimal degrees"
            },
            {
              "type": "number",
              "minimum": -90,
              "maximum": 90,
              "description": "Latitude in decimal degrees"
            },
            {
              "type": "number",
              "minimum": -12000,
              "maximum": 50000000,
              "description": "Optional height in meters"
            }
          ],
          "minItems": 2,
          "maxItems": 3,
          "description": "Coordinate tuple [longitude, latitude, optional height]"
        },
        "minItems": 3,
        "maxItems": 10000
      },
      "color": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64,
        "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
      },
      "outlineColor": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64,
        "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
      },
      "opacity": {
        "type": "number",
        "minimum": 0,
        "maximum": 1
      },
      "extrudedHeight": {
        "type": "number",
        "minimum": 0,
        "maximum": 100000
      },
      "clampToGround": {
        "type": "boolean"
      },
      "label": {
        "type": "string",
        "maxLength": 200
      }
    },
    "required": [
      "coordinates"
    ],
    "additionalProperties": false
  }
}
addLabelact

Add text labels for GeoJSON features (display property values) Returns { success, data: { labelCount: integer }, message? }.

View tool JSON
{
  "name": "addLabel",
  "kind": "act",
  "impl": "imperative",
  "description": "Add text labels for GeoJSON features (display property values) Returns { success, data: { labelCount: integer }, message? }.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "data": {
        "type": "object",
        "description": "GeoJSON FeatureCollection containing Point, LineString, or Polygon features",
        "properties": {
          "type": {
            "const": "FeatureCollection"
          },
          "features": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "const": "Feature"
                },
                "id": {
                  "type": [
                    "string",
                    "number"
                  ]
                },
                "geometry": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "const": "Point"
                        },
                        "coordinates": {
                          "type": "array",
                          "prefixItems": [
                            {
                              "type": "number",
                              "minimum": -180,
                              "maximum": 180,
                              "description": "Longitude in decimal degrees"
                            },
                            {
                              "type": "number",
                              "minimum": -90,
                              "maximum": 90,
                              "description": "Latitude in decimal degrees"
                            },
                            {
                              "type": "number",
                              "minimum": -12000,
                              "maximum": 50000000,
                              "description": "Optional height in meters"
                            }
                          ],
                          "minItems": 2,
                          "maxItems": 3,
                          "description": "Coordinate tuple [longitude, latitude, optional height]"
                        }
                      },
                      "required": [
                        "type",
                        "coordinates"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "const": "LineString"
                        },
                        "coordinates": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "prefixItems": [
                              {
                                "type": "number",
                                "minimum": -180,
                                "maximum": 180,
                                "description": "Longitude in decimal degrees"
                              },
                              {
                                "type": "number",
                                "minimum": -90,
                                "maximum": 90,
                                "description": "Latitude in decimal degrees"
                              },
                              {
                                "type": "number",
                                "minimum": -12000,
                                "maximum": 50000000,
                                "description": "Optional height in meters"
                              }
                            ],
                            "minItems": 2,
                            "maxItems": 3,
                            "description": "Coordinate tuple [longitude, latitude, optional height]"
                          },
                          "minItems": 2
                        }
                      },
                      "required": [
                        "type",
                        "coordinates"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "const": "Polygon"
                        },
                        "coordinates": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "items": {
                              "type": "array",
                              "prefixItems": [
                                {
                                  "type": "number",
                                  "minimum": -180,
                                  "maximum": 180,
                                  "description": "Longitude in decimal degrees"
                                },
                                {
                                  "type": "number",
                                  "minimum": -90,
                                  "maximum": 90,
                                  "description": "Latitude in decimal degrees"
                                },
                                {
                                  "type": "number",
                                  "minimum": -12000,
                                  "maximum": 50000000,
                                  "description": "Optional height in meters"
                                }
                              ],
                              "minItems": 2,
                              "maxItems": 3,
                              "description": "Coordinate tuple [longitude, latitude, optional height]"
                            },
                            "minItems": 4
                          },
                          "minItems": 1
                        }
                      },
                      "required": [
                        "type",
                        "coordinates"
                      ],
                      "additionalProperties": false
                    }
                  ]
                },
                "properties": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "Feature attributes used for labels and thematic styling"
                }
              },
              "required": [
                "type",
                "geometry",
                "properties"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "type",
          "features"
        ],
        "additionalProperties": false
      },
      "field": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "style": {
        "type": "object",
        "properties": {
          "font": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "fillColor": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
          },
          "outlineColor": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
          },
          "outlineWidth": {
            "type": "number",
            "minimum": 0,
            "maximum": 10
          },
          "backgroundColor": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
          },
          "showBackground": {
            "type": "boolean"
          },
          "pixelOffset": {
            "type": "array",
            "items": {
              "type": "number",
              "minimum": -1000,
              "maximum": 1000
            },
            "minItems": 2,
            "maxItems": 2
          },
          "scale": {
            "type": "number",
            "exclusiveMinimum": 0,
            "maximum": 10
          }
        },
        "additionalProperties": false
      }
    },
    "required": [
      "data",
      "field"
    ],
    "additionalProperties": false
  }
}
addGeoJsonLayeract

Add a GeoJSON data layer to the map (Point/Line/Polygon with styling) Returns { success, data: { id, name, type, visible, color, dataRefId? }, message? }; use id with highlight.

View tool JSON
{
  "name": "addGeoJsonLayer",
  "kind": "act",
  "impl": "imperative",
  "description": "Add a GeoJSON data layer to the map (Point/Line/Polygon with styling) Returns { success, data: { id, name, type, visible, color, dataRefId? }, message? }; use id with highlight.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "name": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "data": {
        "type": "object",
        "description": "GeoJSON FeatureCollection containing Point, LineString, or Polygon features",
        "properties": {
          "type": {
            "const": "FeatureCollection"
          },
          "features": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "const": "Feature"
                },
                "id": {
                  "type": [
                    "string",
                    "number"
                  ]
                },
                "geometry": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "const": "Point"
                        },
                        "coordinates": {
                          "type": "array",
                          "prefixItems": [
                            {
                              "type": "number",
                              "minimum": -180,
                              "maximum": 180,
                              "description": "Longitude in decimal degrees"
                            },
                            {
                              "type": "number",
                              "minimum": -90,
                              "maximum": 90,
                              "description": "Latitude in decimal degrees"
                            },
                            {
                              "type": "number",
                              "minimum": -12000,
                              "maximum": 50000000,
                              "description": "Optional height in meters"
                            }
                          ],
                          "minItems": 2,
                          "maxItems": 3,
                          "description": "Coordinate tuple [longitude, latitude, optional height]"
                        }
                      },
                      "required": [
                        "type",
                        "coordinates"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "const": "LineString"
                        },
                        "coordinates": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "prefixItems": [
                              {
                                "type": "number",
                                "minimum": -180,
                                "maximum": 180,
                                "description": "Longitude in decimal degrees"
                              },
                              {
                                "type": "number",
                                "minimum": -90,
                                "maximum": 90,
                                "description": "Latitude in decimal degrees"
                              },
                              {
                                "type": "number",
                                "minimum": -12000,
                                "maximum": 50000000,
                                "description": "Optional height in meters"
                              }
                            ],
                            "minItems": 2,
                            "maxItems": 3,
                            "description": "Coordinate tuple [longitude, latitude, optional height]"
                          },
                          "minItems": 2
                        }
                      },
                      "required": [
                        "type",
                        "coordinates"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "const": "Polygon"
                        },
                        "coordinates": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "items": {
                              "type": "array",
                              "prefixItems": [
                                {
                                  "type": "number",
                                  "minimum": -180,
                                  "maximum": 180,
                                  "description": "Longitude in decimal degrees"
                                },
                                {
                                  "type": "number",
                                  "minimum": -90,
                                  "maximum": 90,
                                  "description": "Latitude in decimal degrees"
                                },
                                {
                                  "type": "number",
                                  "minimum": -12000,
                                  "maximum": 50000000,
                                  "description": "Optional height in meters"
                                }
                              ],
                              "minItems": 2,
                              "maxItems": 3,
                              "description": "Coordinate tuple [longitude, latitude, optional height]"
                            },
                            "minItems": 4
                          },
                          "minItems": 1
                        }
                      },
                      "required": [
                        "type",
                        "coordinates"
                      ],
                      "additionalProperties": false
                    }
                  ]
                },
                "properties": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "Feature attributes used for labels and thematic styling"
                }
              },
              "required": [
                "type",
                "geometry",
                "properties"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "type",
          "features"
        ],
        "additionalProperties": false
      },
      "style": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
          },
          "opacity": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "pointSize": {
            "type": "number",
            "minimum": 1,
            "maximum": 128
          },
          "strokeWidth": {
            "type": "number",
            "minimum": 0,
            "maximum": 64
          },
          "randomColor": {
            "type": "boolean"
          },
          "gradient": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
            },
            "minItems": 2,
            "maxItems": 2
          },
          "choropleth": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string",
                "minLength": 1
              },
              "breaks": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 1
              },
              "colors": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64,
                  "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
                },
                "minItems": 2
              }
            },
            "required": [
              "field",
              "breaks",
              "colors"
            ],
            "additionalProperties": false
          },
          "category": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string",
                "minLength": 1
              },
              "colors": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64,
                  "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
                },
                "minItems": 1
              }
            },
            "required": [
              "field"
            ],
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
}
setBasemapact

Switch basemap style Returns { success, data: { basemap }, message? }.

View tool JSON
{
  "name": "setBasemap",
  "kind": "act",
  "impl": "imperative",
  "description": "Switch basemap style Returns { success, data: { basemap }, message? }.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "basemap": {
        "type": "string",
        "enum": [
          "dark",
          "satellite",
          "standard",
          "osm",
          "arcgis",
          "light"
        ],
        "description": "Basemap type: dark, satellite, standard, osm, arcgis, light"
      }
    },
    "required": [
      "basemap"
    ]
  }
}
removeEntityact

Remove a single entity by its entityId Returns { success, message? } or { success: false, error } when entityId is not found.

View tool JSON
{
  "name": "removeEntity",
  "kind": "act",
  "impl": "imperative",
  "description": "Remove a single entity by its entityId Returns { success, message? } or { success: false, error } when entityId is not found.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "entityId": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      }
    },
    "required": [
      "entityId"
    ],
    "additionalProperties": false
  }
}
clearAllact

Clear all layers, entities, animations, and trajectories (reset scene) Returns { success, data: { removedLayers, removedEntities }, message? }.

View tool JSON
{
  "name": "clearAll",
  "kind": "act",
  "impl": "imperative",
  "description": "Clear all layers, entities, animations, and trajectories (reset scene) Returns { success, data: { removedLayers, removedEntities }, message? }.",
  "inputSchema": {
    "type": "object",
    "properties": {}
  }
}
geocodeact

Convert address/place name to geographic coordinates (uses OSM Nominatim, no API key needed) Returns { success, longitude?, latitude?, displayName?, boundingBox?, message? }.

View tool JSON
{
  "name": "geocode",
  "kind": "act",
  "impl": "imperative",
  "description": "Convert address/place name to geographic coordinates (uses OSM Nominatim, no API key needed) Returns { success, longitude?, latitude?, displayName?, boundingBox?, message? }.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "address": {
        "type": "string",
        "minLength": 2,
        "maxLength": 300
      },
      "countryCode": {
        "type": "string",
        "pattern": "^[A-Za-z]{2}$"
      }
    },
    "required": [
      "address"
    ],
    "additionalProperties": false
  }
}
highlightact

Highlight features of a layer Returns { success: boolean, message?: string, error?: string }.

View tool JSON
{
  "name": "highlight",
  "kind": "act",
  "impl": "imperative",
  "description": "Highlight features of a layer Returns { success: boolean, message?: string, error?: string }.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "layerId": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "featureIndex": {
        "type": "integer",
        "minimum": 0
      },
      "color": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64,
        "description": "CSS color such as #3B82F6 or rgba(59,130,246,0.8)"
      }
    },
    "required": [
      "layerId"
    ],
    "additionalProperties": false
  }
}
measureact

Measure distance or area between coordinates Returns { success, data: { mode, value, unit, segments?, id? }, message? }.

View tool JSON
{
  "name": "measure",
  "kind": "act",
  "impl": "imperative",
  "description": "Measure distance or area between coordinates Returns { success, data: { mode, value, unit, segments?, id? }, message? }.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "mode": {
        "type": "string",
        "enum": [
          "distance",
          "area"
        ]
      },
      "positions": {
        "type": "array",
        "items": {
          "type": "array",
          "prefixItems": [
            {
              "type": "number",
              "minimum": -180,
              "maximum": 180,
              "description": "Longitude in decimal degrees"
            },
            {
              "type": "number",
              "minimum": -90,
              "maximum": 90,
              "description": "Latitude in decimal degrees"
            },
            {
              "type": "number",
              "minimum": -12000,
              "maximum": 50000000,
              "description": "Optional height in meters"
            }
          ],
          "minItems": 2,
          "maxItems": 3,
          "description": "Coordinate tuple [longitude, latitude, optional height]"
        },
        "minItems": 2,
        "maxItems": 10000
      },
      "showOnMap": {
        "type": "boolean"
      },
      "id": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "required": [
      "mode",
      "positions"
    ],
    "additionalProperties": false
  }
}
screenshotact

Capture current map view (returns base64 PNG) Returns { success, data: { dataUrl, width, height }, message? }; dataUrl is a base64 PNG.

View tool JSON
{
  "name": "screenshot",
  "kind": "act",
  "impl": "imperative",
  "description": "Capture current map view (returns base64 PNG) Returns { success, data: { dataUrl, width, height }, message? }; dataUrl is a base64 PNG.",
  "inputSchema": {
    "type": "object",
    "properties": {}
  }
}