Glendale GIS MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GLENDALE_GIS_SNAPSHOT_PATH | No | Path to a custom snapshot directory. If set, the server uses this snapshot instead of the published one. Can be used after building your own snapshot with 'python scripts/build_snapshot.py'. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_datasetsA | List every dataset this server can query: id, source agency, category (hazard, resource or reference), whether it comes from the offline snapshot or live, and its feature count. Start here to find dataset ids for describe_dataset and query_dataset. For hazards or resources at a location, the dedicated tools (hazards_at_location, nearest_resources) are simpler. |
| read_guideA | Read one of the server's guides (Markdown). Call "about" first if you're unsure what this server can do. Call "real_time_sources" whenever someone asks about current conditions (active fires, evacuations, warnings, earthquakes, outages): this server has no real-time data, and the guide lists the official sources to send them to. |
| describe_datasetA | Describe one dataset: every field with its type, meaning and coded values (inferred meanings are flagged), record count, freshness (fetched_at, source_last_edit), the area the snapshot covers, the source URL and disclaimer. Read this before filtering with query_dataset, and to interpret attributes returned by other tools (e.g. FEMA FLD_ZONE codes, CAL FIRE FHSZ codes). |
| query_datasetA | Search one dataset with attribute filters, a location (near) or a bounding box, with paging. Use it for questions the dedicated tools don't cover: zoning or the parcel at a location, schools of a type, bus stops on a route, all dams affecting an area. Results carry total, next_offset for the next page, and a ref for each feature. Geometry is off by default to save context. Parcels are queried live from the city; everything else comes from the offline snapshot. |
| geocode_addressA | Find a Glendale street address with the City of Glendale geocoder. Returns the matched address, coordinates and score, or several candidates when the address is ambiguous (e.g. '613 Broadway' matches both E and W Broadway). Addresses outside the city limits (the geocoder also knows Burbank and unincorporated La Crescenta) return an error. Unit numbers are ignored and place names aren't supported. Other tools accept an address directly, so call this only to check or disambiguate one. |
| hazards_at_locationA | All mapped hazards at one location in one call: wildfire (CAL FIRE), flood (FEMA), fault rupture, liquefaction and earthquake-induced landslide (CGS), dam inundation (DWR) and post-fire debris flow (USGS). Each has a status (in_zone, not_in_zone or unavailable), the zones containing the point, the nearest zone with its distance, and notes on how to read it. These are regulatory maps of mapped hazard, not current conditions or a safety assessment; for active fires, evacuations and alerts call read_guide("real_time_sources"). Use the single-hazard tools when only one is needed. |
| wildfire_zoneA | CAL FIRE Fire Hazard Severity Zone at a location (2025 map), with the nearest zone of each class (Very High, High, Moderate, NonWildland). The zones rate the long-term hazard of the landscape, not the risk to a building. NonWildland is unzoned, not safe from wildfire. Not an evacuation map; for active fires call read_guide("real_time_sources"). |
| flood_zoneA | FEMA flood zone at a location (National Flood Hazard Layer), with the nearest zone of each FLD_ZONE class. Every FEMA zone counts as in_zone, including X (minimal or 0.2%-annual-chance hazard); read FLD_ZONE, ZONE_SUBTY and SFHA_TF (T = Special Flood Hazard Area). Zone D means not studied, not safe. |
| seismic_zonesA | California Geological Survey earthquake zones at a location: Alquist-Priolo fault rupture, liquefaction and earthquake-induced landslide. Being inside a zone is the hazard signal; the attributes only describe the map (quadrangle, release date, report links). Outside a zone does not mean no earthquake hazard: all of Glendale can shake. |
| dam_inundationA | DWR dam inundation areas at a location: where water could flood if a dam failed. One dam can have several features (failure scenarios or structures); all are returned. HazardCl rates the consequences of a failure, not its likelihood. Federally owned dams are not included. Not an evacuation map. |
| debris_flowA | USGS post-fire debris-flow assessments at a location. USGS only assesses recently burned areas, and none currently covers Glendale, so this usually returns not_in_zone; that does not mean there is no debris-flow risk. |
| nearest_resourcesA | Nearest community resources to a location: fire stations, police station, hospitals, schools, libraries, parks and Beeline bus stops, with name, address and distance. Distances are straight-line meters, not travel distance or time, and only resources inside Glendale are included (neighboring cities' facilities may be closer). For other filters (e.g. only high schools) use query_dataset. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| about | Start here: what this server does and doesn't do, what you can ask and which tool answers it, how locations and results work, and where the data comes from. |
| datasets | Every dataset the server can query: hazard zones (CAL FIRE, CGS, FEMA, DWR, USGS), community resources and reference layers from the City of Glendale, with sources, feature counts and dates. |
| real-time-sources | This server has no real-time data. Official sources for active fires, evacuation zones and orders, weather warnings, earthquakes and outages, for residents and for developers, with rules for using live data safely. |
| snapshot-data | How the data is structured (GeoJSON, fields, coded values, dates), what each layer contains, how it was clipped, and how to read each hazard correctly. |
| snapshot-manifest | The loaded snapshot's manifest: for each layer, its source URL, when it was fetched, when the source last changed, feature counts, fields and the area it covers. |
TDQS
Scored across 12 tools
Every tool has a clearly distinct purpose: listing datasets, reading guides, describing schemas, querying data, geocoding, and specific hazard lookups per type (wildfire, flood, seismic, dam, debris) plus resource search. The aggregate hazards_at_location is explicitly differentiated from single-hazard tools.
All tool names use lowercase snake_case with a consistent style, mostly verb_noun (list_datasets, read_guide, describe_dataset, query_dataset, geocode_address) or resource nouns (wildfire_zone, flood_zone, seismic_zones). The pattern is uniform and predictable.
12 tools is well within the ideal 3-15 range. Each tool covers a distinct aspect of the GIS domain (hazards, resources, querying, geocoding) without redundancy, and the count matches the server's comprehensive scope.
The tool surface provides complete coverage for the stated purpose: listing available datasets, describing schema, flexible querying (attribute, location, bbox), geocoding, all major hazard types, and community resources. No obvious gaps; read-only GIS queries are fully supported.