Skip to main content
Glama

Fetch facts for one location

fetch_location
Read-onlyIdempotent

Get public-data facts (terrain, flood, wildfire, weather, soils, power grid, utilities, demographics and more) for one US location. The place is lat+lng or a street address; the facts are a preset, a list of field names, or both combined. Sibling tools: fetch_batch takes the same fields for many places in one call, proximity returns nearest features with distances, parcel_enrich returns the property record, and search_fields or list_presets find field names. Output: fields keyed by name, each with value, unit, status (ok; absent = no data at this point; failed = temporary source error), source and confidence, plus the resolved location and attributions. Cost: 1 lookup per started block of 50 delivered fields (a 135-field preset is 3); nothing when no field returns data. Behavior: read-only (no side effects); needs an API key or OAuth; each call counts toward the per-minute request limit (Free 10, Starter 60, Pro 300). Values cached within each field's refresh interval return at once; other places query live sources, waiting up to max_wait_s, and calls over 2 s count toward the slow-lookup limit (Free 5, Starter 20, Pro 60 per minute). Errors: invalid_locator (both or neither of lat+lng and address), coord_out_of_bounds (outside the US), no_fields_requested, preset_unknown (lists known presets), fields_unknown (lists the bad names), fields_too_many. Plan limits return rate_limited (with retry_after_s), daily_cap_reached or quota_exhausted.

Input Schema

NameRequiredDescriptionDefault
latNoWGS84 latitude in decimal degrees (e.g. 30.2672), paired with lng. Give lat+lng or address, exactly one of the two.
lngNoWGS84 longitude in decimal degrees (e.g. -97.7431, negative in the US), paired with lat.
detailNocompact (default): value, unit, status, source and confidence per field. full: the complete record per field, adding license, attribution, vintage and notes. Same cost.compact
fieldsNoExact, case-sensitive field names from list_presets or search_fields (e.g. ['nfhl_flood_zone', 'elevation']). Combined with preset when both are given; up to 50 names that are not already in the preset. Unknown names fail the whole call with fields_unknown.
presetNoExact preset name from list_presets (e.g. 'flood_risk', 'terrain', 'solar_siting'). Its fields are added to fields; large presets cost more than 1 lookup (1 per 50 delivered fields).
addressNoUS street address with city and state (e.g. '350 5th Ave, New York, NY'), geocoded by the US Census geocoder along the street. An alternative to lat+lng; giving both is an invalid_locator error.
max_wait_sNoSeconds to wait for slow live sources before returning those fields as failed; default 10 s, capped at 15 s on Free and 30 s on paid plans. Optional.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, but the description goes far beyond them: cost model (1 lookup per 50 delivered fields, free when no data), auth requirement (API key or OAuth), rate limits by plan tier, slow-lookup limits, caching behavior, max_wait_s semantics, and a full error taxonomy including retry_after_s. This is unusually rich behavioral disclosure for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, then siblings, output shape, cost, behavior, and errors in a logical order. Despite being dense, every sentence carries actionable information (cost rules, limit tiers, error names) with no filler or repetition of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, open-world enrichment tool with no output schema, the description supplies the return shape (field name → value, unit, status, source, confidence, plus resolved location and attributions), cost and quota behavior, and error handling. An agent has everything needed to call it correctly and interpret partial failures.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it frames the locator as an either/or choice ('lat+lng or a street address'), explains that preset and fields can be combined, and links preset size to cost ('1 per 50 delivered fields'). It stops short of explaining detail=compact vs full, which the schema already covers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get public-data facts ... for one US location') and enumerates the data domains covered. It explicitly names each sibling tool and what it does instead, so an agent can distinguish fetch_location from fetch_batch, proximity, parcel_enrich, search_fields, and list_presets without opening their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: fetch_batch for many places, proximity for nearest features, parcel_enrich for the property record, search_fields/list_presets to discover names. It also states the locator rule (lat+lng or address, not both) and the error conditions that select failure modes, leaving little to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources