DaedalMap Geography Tools (loc_id)
Server Details
Resolve coordinates and geographic identifiers to loc_id, crosswalks, and bounded shapes.
- Status
- Healthy
- Uptime
- 96.4% over 67 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- xyver/daedal-map
- GitHub Stars
- 2
- Server Listing
- daedal-map
TDQS
Scored across 12 tools
Descriptions are unusually explicit about boundaries (e.g. resolve_point vs resolve_deep_point as first/second pass, identify_dataset_geography vs identify_reference_system as column vs value scope), which strongly separates most tools. However get_catalog, get_geography, and get_pack all 'inspect catalog metadata' and could be confused at a glance, requiring careful reading to select.
All 12 tools use consistent snake_case verb_noun phrasing (compare_geographies, convert_reference, get_catalog, resolve_point, identify_reference_system, etc.). No mixed conventions or vague standalone verbs appear.
12 tools sit squarely in the well-scoped 3-15 range for a geography resolution server. Each tool maps to a distinct stage of the resolve/convert/identify/inspect workflow, so no tool feels redundant.
The surface covers point resolution (shallow and deep), ID lookup, comparison, crosswalk conversion, catalog/pack inspection, shape retrieval, dataset identification, and help — a broad lifecycle. Minor gaps remain, such as name-based lookup or reverse polygon-to-place search beyond get_shape's exact-ID scope.
Available Tools
12 toolscompare_geographiesCompare Geographic IdentitiesARead-onlyIdempotentInspect
Compare two known loc_ids using selected reference-graph identity and direct relationship evidence. Verified Admin ancestry can prove containment; a typed graph edge can prove only the relation it declares. An explicit negative edge returns no_overlap; a missing edge returns unknown. This tool never reads polygons or computes shape intersections. Use an external identifier bridge before this call when the input is not a loc_id. No payment required.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | ISO date or year applied to both identities. | |
| items | No | Bounded geography pairs to compare in one call. | |
| batch_id | No | Optional caller-supplied batch id for tracing. | |
| left_as_of | No | Optional ISO date or year for the left identity; overrides as_of. | |
| request_id | No | Optional caller-supplied request id for tracing. | |
| left_loc_id | No | First DaedalMap loc_id. | |
| right_as_of | No | Optional ISO date or year for the right identity; overrides as_of. | |
| right_loc_id | No | Second DaedalMap loc_id. | |
| include_successors | No | Include direct successors and present-day descendants for maintained historical identities. Default true. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| reason | No | |
| results | No | |
| batch_id | No | |
| guidance | No | |
| warnings | No | |
| next_step | No | |
| item_count | No | |
| request_id | No | |
| failed_count | No | |
| clarification | No | |
| meter_receipt | No | |
| compared_count | No | |
| graph_evidence | No | |
| geometry_loaded | No | |
| spatial_relation | No | |
| temporal_relation | No | |
| relationship_basis | No | |
| settlement_receipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral detail beyond that: an explicit negative edge yields no_overlap while a missing edge yields unknown, Admin ancestry can prove containment but a typed edge proves only its declared relation, and it never reads polygons. This meaningfully improves result interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the proof model, then covers edge outcomes, scope limits, and prerequisites in a compact sequence. It is dense but every sentence carries distinct information; minor tightening is possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and complete annotation coverage, so return values and safety need not be restated. The description supplies the interpretive rules (no_overlap vs unknown) and the identifier-bridge prerequisite, leaving little an agent needs to infer before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters are already documented in the schema (including as_of overrides and include_successors default). The description adds no additional per-parameter syntax or format detail beyond that, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Compare) and resource (known loc_ids / geographic identities) with a precise scope: reference-graph identity plus direct relationship evidence. It also carves out what it is not – a polygon/geometry-intersection tool – which implicitly separates it from get_shape and get_geography. It stops short of naming a sibling by name, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete prerequisite: 'Use an external identifier bridge before this call when the input is not a loc_id.' This tells the agent when the tool is applicable and what to do first. It does not, however, explicitly name an alternative tool or state a when-not condition for already-valid loc_ids.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_referenceConvert Geographic ReferenceARead-onlyIdempotentInspect
Convert within one declared scope per call: iso3 is required and names one ISO3 country, GLOBAL, or MARINE. A batch uses one from_system, to_system, and crosswalk_id, with at most 25000 requested result rows. Convert X -> loc_id -> Y; omit to_system to enter the loc_id universe. For admin or city names use from_system admin_boundary with a country_hint inside the declared country. A published direct crosswalk uses one selected artifact; if the system pair has multiple artifacts, supply crosswalk_id from the typed ambiguity error. An exact miss ends on that artifact. Use get_geography when family or scope coverage is unknown. The tools/list access metadata states authored free, account, and paid item allowances; active operator policy may waive payment.
| Name | Required | Description | Default |
|---|---|---|---|
| iso3 | No | Required scope pack for the entire call: one ISO3 country, GLOBAL, or MARINE. Every item must stay within this scope. | |
| as_of | No | ISO date or year used for time-bounded identities. | |
| items | No | Reference conversions within one scope and one source/target/crosswalk route. Split mixed routes. Maximum requested item count times per-item limit is 25000. | |
| limit | No | Maximum ranked output references to return. Default 10. | |
| value | No | Identifier or name in the input system, for example 'Springfield, Illinois' with admin_boundary. | |
| batch_id | No | Optional caller-supplied batch id for tracing. | |
| min_share | No | Optional minimum overlap share threshold. | |
| to_system | No | Optional output reference system. Defaults to DaedalMap loc_id; provide zcta, nws_fire, overlay_nws_public_zone, overlay_tribal, admin_local, or another catalog system for any-to-any conversion. | daedalmap.loc_id |
| request_id | No | Optional caller-supplied request id for tracing. | |
| from_system | No | Input reference system, such as admin_boundary (admin and city names; admin_text and place_name are accepted aliases), zip, overlay_zcta, nws_fire, tribal, or loc_id. | |
| country_hint | No | Optional country hint for admin/name resolution (USA), or a subdivision to search within (USA-OR). Names may also carry their parent: 'Washington County, Oregon'. Ambiguous names return candidates instead of a match. | |
| crosswalk_id | No | Exact published crosswalk ID when the source/target system pair has multiple artifacts. A route ambiguity error lists valid IDs. | |
| admin_level_hint | No | Optional admin-level hint for admin/name resolution. | |
| target_admin_level | No | Admin level used as the intermediate crosswalk target. Default admin_2. | |
| relationship_vintage | No | Optional source relationship vintage to require. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| from | No | |
| error | No | |
| loc_id | No | |
| reason | No | |
| results | No | |
| batch_id | No | |
| guidance | No | |
| warnings | No | |
| next_step | No | |
| to_system | No | |
| item_count | No | |
| request_id | No | |
| from_system | No | |
| clarification | No | |
| meter_receipt | No | |
| converted_count | No | |
| unconverted_count | No | |
| settlement_receipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds real behavioral context: the 25000-row cap, that one batch uses a single from/to/crosswalk route, that an exact miss ends on that artifact, that ambiguity surfaces a typed error listing valid crosswalk_ids, and that authored allowances/payment policy may apply. It stops short of describing result ranking or truncation behavior, keeping it at a strong 4 rather than 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The scope constraint and required fields are front-loaded, and nearly every sentence carries routing or constraint information. It is dense and slightly jargon-heavy (loc_id universe, typed ambiguity error), which costs a point against a perfectly economical definition, but little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, batch-capable conversion tool with an output schema already documenting returns, the description covers scope, batching, routing, error behavior, and access policy well. The only soft spot is the external reference to 'tools/list access metadata' for allowances, which assumes knowledge the agent may not have in-context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description still adds meaning beyond the schema by explaining the call-level constraints tying parameters together (one from_system, one to_system, one crosswalk_id per batch; per-item limit multiplied by item count capped at 25000) and by clarifying crosswalk_id's origin in the ambiguity error.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (convert) and resource (geographic references) along with the scope unit (one ISO3/GLOBAL/MARINE per call) and the route (from_system -> loc_id -> to_system). It clearly differentiates itself from siblings by naming get_geography for family/scope discovery and by distinguishing itself from lookup tools via the crosswalk/batch framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing rules: omit to_system to enter the loc_id universe, use from_system admin_boundary with country_hint for admin or city names, and use get_geography when family or scope coverage is unknown. It also names the alternative tool and the condition that selects it, which is exactly the when/when-not guidance missing from most definitions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_catalogList Published Packs or GeographiesARead-onlyIdempotentInspect
Choose data or geometry to list published pack IDs or family and scope IDs. The response includes a complete catalog download URL. Use get_pack for data or get_geography for geometry. Current catalog: The same geography tools work worldwide across a cataloged baseline of 252 geographic entities, reaching up to Admin 2. Where additional country releases are available, the same calls automatically return deeper administrative tiers or maintained reference families. Additional detail is currently available for Australia, Brazil, Canada, France, Germany, Mexico, United Kingdom, United States.
| Name | Required | Description | Default |
|---|---|---|---|
| catalog | Yes | Required directory selector. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| packs | No | |
| detail | No | |
| reason | No | |
| scopes | No | |
| catalog | No | |
| families | No | |
| guidance | No | |
| warnings | No | |
| next_step | No | |
| pack_count | No | |
| provenance | No | |
| request_id | No | |
| download_url | No | |
| generated_at | No | |
| clarification | No | |
| result_status | No | |
| tool_families | No | |
| excluded_count | No | |
| resolved_query | No | |
| catalog_version | No | |
| uncertain_count | No | |
| uncertain_packs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description's only behavioral addition is that the response carries a catalog download URL, which is already implied by the output schema; the long paragraph about worldwide coverage and per-country releases is scope marketing rather than behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The actionable content (what it lists, the download URL, the get_pack/get_geography routing) is front-loaded, but it is then buried under a lengthy 'Current catalog' paragraph listing 252 entities and eight countries that does nothing for tool selection or invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety and an output schema covering returns, the description only needs to explain the selector and routing, which it mostly does. However, the undefined 'scope IDs' terminology and the routing to a non-sibling tool leave small gaps for an agent deciding between catalog and pack calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the enum values are self-explanatory, so the baseline is 3. The description goes beyond this by mapping each enum value to a distinct return shape ('data' yields pack IDs, 'geometry' yields family and scope IDs), which genuinely adds meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a specific verb ('list') and resource ('published pack IDs or family and scope IDs') and ties the output to the required catalog selector. It is distinguishable from the generic get_data/get_pack siblings, though the phrase 'family and scope IDs' is jargon that is never defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing: 'Use get_pack for data or get_geography for geometry,' which tells the agent when to pick this tool over an alternative. The weakness is that get_geography is not among the listed siblings, so the routing target is ambiguous for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_geographyInspect One Geography Family or ScopeARead-onlyIdempotentInspect
Inspect one published geometry family across scopes or one scope across families. Returns coverage and known editions from catalog metadata only. Optional year selects the latest admitted edition no later than that year when the selected catalog has an edition index; an unavailable index is reported explicitly.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| scope_id | No | ||
| family_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| reason | No | |
| catalog | No | |
| coverage | No | |
| guidance | No | |
| scope_id | No | |
| warnings | No | |
| family_id | No | |
| next_step | No | |
| provenance | No | |
| request_id | No | |
| admin_spine | No | |
| clarification | No | |
| requested_year | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, closed-world and non-destructive behavior, so the bar is lower. The description still adds real context: results come from catalog metadata only, the optional year resolves to the latest admitted edition no later than that year, and a missing edition index is reported explicitly rather than silently ignored.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler, and the core operation is front-loaded before the year-selection detail. The phrasing is jargon-dense but each sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no further explanation, and the annotations cover the safety profile. The description covers the operation and the year behavior adequately; the only real gap is not clarifying the family_id/scope_id distinction and their mutual exclusivity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden for three parameters. It explains 'year' semantics well (latest admitted edition no later than the year, with explicit reporting when no index exists), but says nothing about the meaning of family_id vs scope_id or the oneOf exclusivity rule that requires exactly one of them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Inspect') and resource ('one published geometry family across scopes or one scope across families'), which distinguishes it from siblings like compare_geographies, get_shape, and get_data. It is clear what the tool returns, though the family-vs-scope duality is stated rather densely and its relationship to sibling tools is not explicitly contrasted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from catalog metadata only' implicitly signals this is a metadata lookup rather than a data/geometry fetch (vs get_data, get_shape), which gives an agent some routing signal. However, there is no explicit when-to-use, when-not-to-use, or named alternative sibling, so usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_loc_id_infoInspect Direct loc_id ConnectionsARead-onlyIdempotentInspect
Look up one known loc_id or a small batch in the selected reference graph. Return its identity and directly recorded loc_id connections, with family, direction, and relationship evidence. Each ID returns at most 50 connections and an explicit has_more flag. This tool does not expand descendants, infer containment, read shapes, search catalogs, or consult external adapters. No payment required.
| Name | Required | Description | Default |
|---|---|---|---|
| loc_id | No | DaedalMap loc_id, e.g. 'USA-CA'. | |
| loc_ids | No | Up to 10 known loc_ids, including a resolve_point stack. | |
| batch_id | No | Optional caller-supplied batch id for tracing. | |
| request_id | No | Optional caller-supplied request id for tracing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| iso3 | No | |
| name | No | |
| error | No | |
| family | No | |
| loc_id | No | |
| reason | No | |
| results | No | |
| batch_id | No | |
| guidance | No | |
| has_more | No | |
| warnings | No | |
| next_step | No | |
| request_id | No | |
| admin_level | No | |
| connections | No | |
| found_count | No | |
| loc_id_count | No | |
| clarification | No | |
| meter_receipt | No | |
| missing_count | No | |
| connection_count | No | |
| connection_limit | No | |
| requested_loc_id | No | |
| settlement_receipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety burden is covered. The description still adds real behavioral context beyond them: a per-ID cap of 50 connections with an explicit has_more flag (pagination semantics), the silent-exclusion behaviors, and the note that no payment is required, which signals a possible paid path elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core operation and the return shape, then the scope exclusions, then the payment note. It is dense and nearly every clause earns its place; the exclusion list is somewhat long but directly serves disambiguation, which justifies the length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. The description supplies the remaining missing pieces an agent needs to call this correctly: known-ID-only precondition, batch size, truncation limit, has_more signaling, and the explicit boundary against adjacent tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so loc_id, loc_ids, batch_id and request_id are already documented, and the baseline is 3. The description only echoes the single-ID-or-batch shape; it adds no format, resolution or tracing semantics beyond what the schema states, and notably does not explain the 'resolve_point stack' behavior described in loc_ids.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (look up a loc_id or small batch in the selected reference graph) and defines the exact return payload: identity plus directly recorded connections with family, direction and evidence. The explicit negative scope ('does not expand descendants, infer containment, read shapes, search catalogs') cleanly separates it from siblings like get_geography, get_shape, and get_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes the usage condition well: it operates on known IDs only, supports a single ID or a batch, and explicitly refuses expansion, inference, shape reads, catalog search and adapter calls. It stops short of naming the sibling tools an agent should reach for instead when it does need shapes or catalog search, so routing is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_packInspect One Data PackARead-onlyIdempotentInspect
Inspect one exact data pack ID for its metrics, time coverage, and query metadata before get_data.
| Name | Required | Description | Default |
|---|---|---|---|
| pack_id | Yes | Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| detail | No | |
| reason | No | |
| catalog | No | |
| pack_id | No | |
| sources | No | |
| guidance | No | |
| warnings | No | |
| full_call | No | |
| next_step | No | |
| provenance | No | |
| request_id | No | |
| download_url | No | |
| clarification | No | |
| download_call | No | |
| material_policy | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description's additional value is the pre-flight framing (cheap inspection ahead of get_data) and a summary of returned content. It does not add anything about unknown-ID behavior or lookup cost, so it is solid but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the verb and resource and ends with the routing cue. Every clause carries information; nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not enumerate return fields, and annotations plus a 100%-covered single parameter handle the rest. The only thin spot is behavior when an unknown or stale pack ID is passed, which the description never touches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single pack_id parameter is well documented in the schema itself (origin in get_catalog, note about newly admitted packs). The description only adds the emphasis that the ID must be exact, which is marginal but consistent with the baseline for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (inspect), a specific resource (one exact data pack ID), and what the inspection yields (metrics, time coverage, query metadata). This cleanly separates it from get_catalog (enumeration) and get_data (retrieval) without the agent needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before get_data' gives an explicit sequencing rule for when this tool belongs in a workflow, and the schema's 'from get_catalog' note completes the chain. There are no stated exclusions or failure conditions, so it falls just short of a full when/when-not statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shapeRetrieve Shapes for Known loc_idsARead-onlyIdempotentInspect
Shape lookup for exact existing loc_ids only. The default returns shape availability, centroid, and bounding box; include_polygon=true adds GeoJSON coordinates. Obtain any descendant IDs before this call. Historical geometry is returned first and successors are never substituted automatically. Year selection is not yet supported.
| Name | Required | Description | Default |
|---|---|---|---|
| loc_id | No | DaedalMap loc_id, such as USA-CA-037, USA-Z-00601, USA-NWSFZ-AKZ317, EEZ-USA, or IHO1953-240001002. | |
| loc_ids | No | Exact DaedalMap loc_ids to fetch in one call. Default public cap is deployment-configurable and lower when include_polygon is true. | |
| batch_id | No | Optional caller-supplied batch id for tracing. | |
| request_id | No | Optional caller-supplied request id for tracing. | |
| include_polygon | No | When true, include the full GeoJSON geometry. Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| items | No | |
| reason | No | |
| missing | No | |
| batch_id | No | |
| guidance | No | |
| warnings | No | |
| available | No | |
| next_step | No | |
| requested | No | |
| selection | No | |
| request_id | No | |
| clarification | No | |
| meter_receipt | No | |
| include_polygon | No | |
| settlement_receipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by describing the default return set (availability, centroid, bounding box), the include_polygon effect, the fallback rule that 'historical geometry is returned first and successors are never substituted automatically,' and an unsupported feature. Annotations already cover the safe-read profile; this adds genuinely non-obvious behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five tight sentences with the scoping constraint and default-return behavior front-loaded. Every sentence carries information, though the density is high enough that it reads as a spec dump rather than a prioritized summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers the prerequisite, geometry-substitution rule, and unsupported year selection. The main residual gap is that the cap/rate behavior ('deployment-configurable') is left to the schema rather than summarized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both loc_id/loc_ids and include_polygon are already documented in the schema. The description restates include_polygon's effect ('adds GeoJSON coordinates') but adds no format or syntax detail beyond what the schema provides, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Shape lookup') scoped to 'exact existing loc_ids only', which implicitly distinguishes it from point-resolver siblings. However, it never names a sibling such as get_geography, so the agent must infer the boundary from the phrase 'exact existing loc_ids' rather than being told explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context: prerequisite 'Obtain any descendant IDs before this call', restriction to existing IDs, and the explicit limitation 'Year selection is not yet supported.' It stops short of naming the alternative tool for obtaining IDs, so routing is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tool_helpGet Tool HelpARead-onlyIdempotentInspect
Describe one tool visible on this facade, including its exact contract, or return a bounded workflow overview for one supported topic.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Workflow overview. Do not combine with tool_name. | |
| question | No | Optional question used only with a topic overview. | |
| tool_name | No | Exact tool name from tools/list. Do not combine with topic. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| title | No | |
| access | No | |
| reason | No | |
| purpose | No | |
| examples | No | |
| guidance | No | |
| warnings | No | |
| next_step | No | |
| tool_name | No | |
| provenance | No | |
| request_id | No | |
| input_schema | No | |
| clarification | No | |
| recommended_next_calls | No | |
| important_output_fields | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds a bit of behavioral context by mentioning 'exact contract' and 'bounded workflow overview', but it does not disclose potential error conditions or response formats. This is acceptable given the annotations, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently presents both modes without redundancy. Every phrase adds value, and it is front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate but relies heavily on the schema for constraints (e.g., oneOf logic, enum values, mutual exclusivity). It does not mention optional parameters or edge cases, but given the rich schema and annotations, it covers the essential purpose. A 3 reflects that it is sufficient but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter already has a thorough description (e.g., 'Do not combine with tool_name'). The tool description adds no extra parameter detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: describe a tool (with its exact contract) or return a workflow overview for a supported topic. It uses specific verbs and resources, and the two modes are distinct. This differentiates it from sibling data-fetching tools like get_data and get_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use each mode by stating the two options, and the schema enforces mutual exclusivity. However, it does not explicitly name alternatives or state when NOT to use this tool (e.g., for actual data retrieval). Still, the purpose is clear enough for an agent to infer correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
identify_dataset_geographyChoose Geography Columns From a DatasetARead-onlyIdempotentInspect
Fast structural column selector: pass bounded named columns to find recognized geography headers or latitude/longitude pairs. It does not infer a country, level, or identifier system, open country indexes, or validate values. If more than one column is plausible, select one; then call identify_reference_system with the selected identifier column and one country_scope. No payment required.
| Name | Required | Description | Default |
|---|---|---|---|
| columns | Yes | Structurally filtered columns with deterministic representative scalar values. Do not pre-label their geographic system. | |
| request_id | No | ||
| country_scope | No | Optional caller-declared ISO3 country, passed through to the selected column. | |
| dataset_context | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| limit | No | |
| reason | No | |
| status | No | |
| batch_id | No | |
| guidance | No | |
| warnings | No | |
| next_step | No | |
| candidates | No | |
| request_id | No | |
| column_count | No | |
| clarification | No | |
| meter_receipt | No | |
| review_required | No | |
| identifier_count | No | |
| coordinate_binding | No | |
| settlement_receipt | No | |
| recommended_binding | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, but the description still adds non-obvious behavior: no validation of values, no opening of country indexes, deterministic bounded input, and 'No payment required'. That is real added context beyond the structured fields, though return/pagination behavior is left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with the core purpose ('Fast structural column selector') front-loaded, followed by exclusions, then workflow routing. Dense but every sentence carries information; minor packing of several distinct constraints into one sentence costs it a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, output-schema-backed selector, the description covers purpose, boundary conditions, and the follow-up call, so an agent can invoke it correctly without guessing. The remaining gap is that request_id and dataset_context are never explained, and with only 50% schema description coverage those params are undocumented anywhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, and the schema already documents the columns array shape (maxItems, per-value limits) and country_scope as an ISO3 pass-through. The description adds that columns must be 'bounded named columns' and that country_scope is forwarded to the selected column, but does not clarify request_id or dataset_context. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('structural column selector' that finds recognized geography headers or latitude/longitude pairs) and immediately bounds the scope by naming what it does NOT do ('does not infer a country, level, or identifier system'). This lets an agent distinguish it from identify_reference_system, which the description positions as the next step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use ('pass bounded named columns'), explicit when-not ('does not infer a country, level, or identifier system... or validate values'), and explicit routing to the alternative ('then call identify_reference_system with the selected identifier column and one country_scope'). Even the tie-break case is covered ('If more than one column is plausible, select one').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
identify_reference_systemIdentify One Identifier Column's Reference SystemARead-onlyIdempotentInspect
Identify one selected identifier column within one required ISO3 country, GLOBAL, or MARINE scope. Pass bounded strings preserving leading zeros. It checks maintained identifier evidence, not dataset columns or polygons. Ambiguous systems stay unselected until expected.system is supplied. Use identify_dataset_geography first when the column is unknown. No payment required.
| Name | Required | Description | Default |
|---|---|---|---|
| expected | No | ||
| identifier | No | One geography identifier to inspect. | |
| request_id | No | Optional caller-supplied request id for tracing. | |
| identifiers | No | A bounded representative identifier sample. Duplicate values are checked once. Values must be strings so leading zeros are preserved. | |
| country_scope | Yes | Required single ISO3 country, GLOBAL, or MARINE scope. Missing scope fails before identifier reads. | |
| dataset_context | No | Bounded, non-row dataset clues used to rank plausible interpretations without replacing exact identifier verification. | |
| validation_scope | No | Describes whether the bounded input is a sample or, only when it fits the identification cap, the complete distinct-key set. This tool validates every supplied identifier; create_conversion_job validates every row in the full dataset. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| limit | No | |
| reason | No | |
| status | No | |
| batch_id | No | |
| guidance | No | |
| warnings | No | |
| next_step | No | |
| candidates | No | |
| request_id | No | |
| column_count | No | |
| clarification | No | |
| meter_receipt | No | |
| review_required | No | |
| identifier_count | No | |
| coordinate_binding | No | |
| settlement_receipt | No | |
| recommended_binding | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world. The description adds real context beyond that: it checks 'maintained identifier evidence, not dataset columns or polygons,' explains the ambiguous-unselected behavior, and notes 'No payment required' (a cost trait). It stops short of richer output/timing detail, but the additions are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five sentences, front-loaded with purpose and scope before routing and behavior. Each sentence carries information, though the leading-zero instruction mildly duplicates the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the annotations cover the safety profile. The description covers scope, routing, ambiguity handling, and cost, leaving only minor gaps around pagination/timing that are not essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents nearly all parameters (including the leading-zero string requirement and expected.* fields). The description's 'Pass bounded strings preserving leading zeros' largely restates the schema, adding little beyond the baseline when structured data does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (identify) and resource (one identifier column's reference system) with explicit scope constraints (one ISO3 country, GLOBAL, or MARINE). It also distinguishes itself from siblings by naming identify_dataset_geography, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit prerequisite/alternative: 'Use identify_dataset_geography first when the column is unknown,' plus a conditional behavior ('Ambiguous systems stay unselected until expected.system is supplied') that tells the agent exactly what to do on an inconclusive result. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_deep_pointResolve Point(s) (Deep)ARead-onlyIdempotentInspect
Second-pass containment only after resolve_point. Supply the original WGS84 coordinate or a bounded point array, one shared shallow_loc_id returned by resolve_point, and one canonical family from get_catalog(catalog='geometry'). family defaults to administrative; shape-backed families use direct bbox-to-exact-shape lookup without crosswalks. Single and bulk requests share this scoped contract. Current catalog: The same geography tools work worldwide across a cataloged baseline of 252 geographic entities, reaching up to Admin 2. Where additional country releases are available, the same calls automatically return deeper administrative tiers or maintained reference families. Additional detail is currently available for Australia, Brazil, Canada, France, Germany, Mexico, United Kingdom, United States.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in WGS84 decimal degrees. | |
| lon | No | Longitude in WGS84 decimal degrees. | |
| family | No | One family selector. Defaults to administrative; use marine for the direct Marine resolver, or a canonical country family such as postal_area, watershed, or land_management_region. | administrative |
| points | No | Points already known to fall within the supplied shallow_loc_id scope. | |
| batch_id | No | Optional caller-supplied batch id echoed for point arrays. | |
| request_id | No | Optional caller-supplied request id for tracing. | |
| shallow_loc_id | Yes | The deepest canonical Admin 1-3 loc_id returned by resolve_point, such as USA-NY-061-009903. | |
| target_admin_level | No | Optional exact Admin 4-6 level. Omit for the deepest available match. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| point | No | |
| stack | No | |
| family | No | |
| reason | No | |
| matched | No | |
| results | No | |
| batch_id | No | |
| guidance | No | |
| warnings | No | |
| join_keys | No | |
| next_step | No | |
| request_id | No | |
| point_count | No | |
| clarification | No | |
| family_result | No | |
| meter_receipt | No | |
| resolved_count | No | |
| shallow_loc_id | No | |
| deeper_available | No | |
| overlap_families | No | |
| unresolved_count | No | |
| settlement_receipt | No | |
| deepest_resolved_family | No | |
| deepest_resolved_loc_id | No | |
| deepest_resolved_admin_level | No | |
| available_deeper_admin_levels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds real behavioral context: the single/bulk requests share the same scoped contract, family defaults to administrative, and shape-backed families bypass crosswalks for a direct bbox-to-exact-shape lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The critical precondition is front-loaded in the first sentence, which is good. However, the trailing "Current catalog" paragraph about 252 entities and country releases is long shared boilerplate that does not help an agent invoke this tool correctly and dilutes the signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description supplies the upstream dependency, family default, and bulk contract, leaving little an agent needs that is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: the shallow_loc_id must be one shared value returned by resolve_point, family defaults to administrative, and the points array must already fall within the shallow scope. Only target_admin_level is left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (second-pass containment resolution) and its required inputs, and explicitly distinguishes itself from the sibling resolve_point by positioning as the follow-up pass. An agent can tell what this does and how it differs from the shallow pass without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Second-pass containment only after resolve_point" is an explicit precondition and names the required upstream call, and it points to get_catalog(catalog='geometry') for valid family values. It does not spell out negative cases (e.g., when to skip a deep pass), so it falls just short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_pointResolve Point(s) (Shallow)ARead-onlyIdempotentInspect
Primary entry for a bare WGS84 coordinate or bounded point array. Finds the country and returns the deepest available shallow administrative loc_id chain: the global baseline reaches Admin 2, while adopted country query banks may reach Admin 3. Carry its country and loc_ids into later place-specific calls. It does not open deep partitions or side-family shape banks. Use a returned shallow loc_id with resolve_deep_point for Admin 4-6 or one explicit family. Single and bulk requests share this contract; access limits are based on point count. Current catalog: The same geography tools work worldwide across a cataloged baseline of 252 geographic entities, reaching up to Admin 2. Where additional country releases are available, the same calls automatically return deeper administrative tiers or maintained reference families. Additional detail is currently available for Australia, Brazil, Canada, France, Germany, Mexico, United Kingdom, United States.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in WGS84 decimal degrees. | |
| lon | No | Longitude in WGS84 decimal degrees. | |
| points | No | Bounded WGS84 point array. Use top-level lat/lon instead for one point. | |
| batch_id | No | Optional caller-supplied batch id echoed for point arrays. | |
| request_id | No | Optional caller-supplied request id for tracing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| point | No | |
| stack | No | |
| family | No | |
| reason | No | |
| matched | No | |
| results | No | |
| batch_id | No | |
| guidance | No | |
| warnings | No | |
| join_keys | No | |
| next_step | No | |
| request_id | No | |
| point_count | No | |
| clarification | No | |
| family_result | No | |
| meter_receipt | No | |
| resolved_count | No | |
| shallow_loc_id | No | |
| deeper_available | No | |
| overlap_families | No | |
| unresolved_count | No | |
| settlement_receipt | No | |
| deepest_resolved_family | No | |
| deepest_resolved_loc_id | No | |
| deepest_resolved_admin_level | No | |
| available_deeper_admin_levels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower, and the description still adds real behavior: depth ceiling (Admin 2 baseline, Admin 3 for adopted banks), that bulk and single share one contract, and that access limits scale with point count. It stops short of error/failure behavior or what happens when a point falls outside the cataloged baseline, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and scope are front-loaded in the first two sentences, and the deep-vs-shallow routing guidance follows immediately. The trailing catalog paragraph (252 entities plus an eight-country list) is relevant but reads as reference material that dilutes the operative instructions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only resolver with an output schema and full annotation coverage, the description supplies everything needed to call it correctly: coordinate contract, depth semantics, escalation sibling, and catalog limits. Return-value details are appropriately delegated to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the 3 baseline is met by the schema alone; the description adds meaning by framing the single-vs-bulk contract and clarifying that access limits are driven by point count, which maps to the oneOf branch structure. It does not, however, explain batch_id/request_id echo semantics or array item fields like row_index.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Finds the country and returns the deepest available shallow administrative loc_id chain') and explicitly bounds its scope ('does not open deep partitions or side-family shape banks'). It clearly distinguishes itself from resolve_deep_point, so an agent can pick between the two without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit escalation path: 'Use a returned shallow loc_id with resolve_deep_point for Admin 4-6 or one explicit family,' plus the downstream workflow ('Carry its country and loc_ids into later place-specific calls'). It also states the when-not condition (deep partitions, side-family banks), which is exactly what an agent needs for routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- Changed
compare_geographies9 fields changed- removed
Input schema / anyOfRemoved value: -[ - { - "required": [ - "left_loc_id", - "right_loc_id" - ] - }, - { - "required": [ - "items" - ] - } -] - added
Input schema / oneOfAdded value: +[ + { + "required": [ + "left_loc_id", + "right_loc_id" + ] + }, + { + "required": [ + "items" + ] + } +] - added
Input schema / properties / items / items / properties / left_loc_id / minLengthAdded value: +1 - added
Input schema / properties / items / items / properties / right_loc_id / minLengthAdded value: +1 - added
Input schema / properties / left_loc_id / minLengthAdded value: +1 - added
Input schema / properties / right_loc_id / minLengthAdded value: +1 - added
Output schema / properties / geometry_loadedAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / graph_evidenceAdded value: +{ + "items": { + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / relationship_basisAdded value: +{ + "type": "string" +}
- Changed
get_catalog15 fields changed- removed
Input schema / properties / catalog / defaultRemoved value: -"data" - changed
Input schema / properties / catalog / descriptionPrevious value: -"Catalog family. The geography facade defaults to geometry; other facades default to data."New value: +"Required directory selector." - removed
Input schema / properties / country_scopeRemoved value: -{ - "description": "Optional ISO3 focus for catalog='geometry' with detail='lite'.", - "type": "string" -} - removed
Input schema / properties / detailRemoved value: -{ - "default": "lite", - "description": "Use lite to select a pack, full for expanded metric/query inventories, or download for the complete raw catalog URL.", - "enum": [ - "lite", - "full", - "download" - ], - "type": "string" -} - removed
Input schema / properties / loc_idRemoved value: -{ - "description": "Optional DaedalMap loc_id for catalog='data'. Combine with time_range to discover packs confirmed for both place and time. For place details without pack filtering, use get_loc_id_info.", - "type": "string" -} - removed
Input schema / properties / time_rangeRemoved value: -{ - "additionalProperties": false, - "description": "Optional inclusive discovery window for catalog='data'. At least one bound is required.", - "properties": { - "end": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "start": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - } - }, - "type": "object" -} - added
Input schema / requiredAdded value: +[ + "catalog" +] - changed
Output schema / anyOfPrevious value: -[ - { - "required": [ - "catalog", - "detail" - ] - }, - { - "required": [ - "error" - ] - } -]New value: +[ + { + "required": [ + "catalog" + ] + }, + { + "required": [ + "error" + ] + } +] - added
Output schema / properties / excluded_countAdded value: +{ + "minimum": 0, + "type": "integer" +} - added
Output schema / properties / familiesAdded value: +{ + "items": { + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / resolved_queryAdded value: +{ + "type": "object" +} - added
Output schema / properties / result_statusAdded value: +{ + "type": "string" +} - added
Output schema / properties / scopesAdded value: +{ + "items": { + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / uncertain_countAdded value: +{ + "minimum": 0, + "type": "integer" +} - added
Output schema / properties / uncertain_packsAdded value: +{ + "items": { + "type": "object" + }, + "type": "array" +}
- Added
get_geography - Removed
get_geometry - Changed
get_loc_id_info22 fields changed- removed
Input schema / anyOfRemoved value: -[ - { - "required": [ - "loc_id" - ] - }, - { - "required": [ - "loc_ids" - ] - } -] - added
Input schema / oneOfAdded value: +[ + { + "required": [ + "loc_id" + ] + }, + { + "required": [ + "loc_ids" + ] + } +] - removed
Input schema / properties / as_ofRemoved value: -{ - "description": "Optional ISO day, month, or year (YYYY-MM-DD, YYYY-MM, or YYYY). Reviews the current Full source edition and returns a Double-check date alert for coarse or stale coverage; it does not select historical geometry.", - "type": "string" -} - removed
Input schema / properties / include_hierarchyRemoved value: -{ - "description": "When true, include strict stored parent and ancestor data. This never invents a parent edge across mixed releases. Default false.", - "type": "boolean" -} - removed
Input schema / properties / include_referencesRemoved value: -{ - "description": "When true, include known external or side-chain references attached to each loc_id. Default false.", - "type": "boolean" -} - removed
Input schema / properties / iso3Removed value: -{ - "description": "Optional country hint for crosswalk artifacts. Defaults to the loc_id country when possible.", - "type": "string" -} - removed
Input schema / properties / limit_per_systemRemoved value: -{ - "description": "Maximum overlap references to return per bridge/system. Default 10.", - "maximum": 100, - "minimum": 1, - "type": "integer" -} - changed
Input schema / properties / loc_ids / descriptionPrevious value: -"DaedalMap loc_ids to inspect together, including every loc_id from a resolve_point stack. Default public cap is deployment-configurable."New value: +"Up to 10 known loc_ids, including a resolve_point stack." - added
Input schema / properties / loc_ids / maxItemsAdded value: +10 - added
Input schema / properties / loc_ids / minItemsAdded value: +1 - removed
Input schema / properties / min_shareRemoved value: -{ - "description": "Optional minimum target-area share for reverse overlap references.", - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / properties / systemsRemoved value: -{ - "description": "Optional reference systems to include when include_references is true, such as zcta, nws_fire, overlay_tribal, or overlay_nws_public_zone.", - "items": { - "type": "string" - }, - "type": "array" -} - removed
Input schema / properties / target_admin_levelRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "Admin level for crosswalk-backed reverse reference lookup. Inferred when omitted." -} - added
Output schema / properties / connection_countAdded value: +{ + "minimum": 0, + "type": "integer" +} - added
Output schema / properties / connection_limitAdded value: +{ + "minimum": 1, + "type": "integer" +} - added
Output schema / properties / connectionsAdded value: +{ + "items": { + "type": "object" + }, + "type": "array" +} - removed
Output schema / properties / data_packsRemoved value: -{ - "type": "array" -} - removed
Output schema / properties / geometry_familiesRemoved value: -{ - "type": "array" -} - added
Output schema / properties / has_moreAdded value: +{ + "type": "boolean" +} - removed
Output schema / properties / hierarchyRemoved value: -{ - "type": "object" -} - removed
Output schema / properties / next_callsRemoved value: -{ - "type": "array" -} - removed
Output schema / properties / referencesRemoved value: -{ - "type": "object" -}
- Changed
get_pack5 fields changed- removed
Input schema / properties / catalogRemoved value: -{ - "description": "Metadata family. When omitted, geometry facades default to geometry and known geometry-family ids are inferred; all other calls default to data.", - "enum": [ - "data", - "geometry" - ], - "type": "string" -} - removed
Input schema / properties / country_scopeRemoved value: -{ - "description": "Optional ISO3 country for a geometry family. Omit it to learn which countries publish the family; provide it for country-specific versions, vintages, levels, and artifacts.", - "pattern": "^[A-Za-z]{3}$", - "type": "string" -} - removed
Input schema / properties / detailRemoved value: -{ - "default": "lite", - "description": "Use lite to decide and start, full for detailed MCP query metadata, or download for the complete raw metadata file.", - "enum": [ - "lite", - "full", - "download" - ], - "type": "string" -} - removed
Input schema / properties / release_unitRemoved value: -{ - "description": "Optional non-country geometry release unit such as GLOBAL or MARINE. Do not combine with country_scope.", - "pattern": "^[A-Za-z0-9_-]+$", - "type": "string" -} - changed
Output schema / properties / catalog / enumPrevious value: -[ - "data", - "geometry" -]New value: +[ + "data" +]
- Added
get_shape - Changed
resolve_point2 fields changed- removed
Input schema / properties / include_marine_contextRemoved value: -{ - "default": false, - "description": "Opt in to parallel Marine overlaps for land matches. Defaults to false so ordinary administrative resolution stays lightweight. Offshore Marine fallback still applies.", - "type": "boolean" -} - removed
Input schema / properties / target_admin_levelRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "Optional exact requested level from Admin 0-3. Omit it to return the deepest available shallow level." -}
3 tool updates
- Changed
convert_reference7 fields changed- changed
Input schema / anyOfPrevious value: -[ - { - "required": [ - "from_system", - "value" - ] - }, - { - "required": [ - "items" - ] - } -]New value: +[ + { + "required": [ + "iso3", + "from_system", + "value" + ] + }, + { + "required": [ + "iso3", + "items" + ] + } +] - added
Input schema / properties / crosswalk_idAdded value: +{ + "description": "Exact published crosswalk ID when the source/target system pair has multiple artifacts. A route ambiguity error lists valid IDs.", + "type": "string" +} - changed
Input schema / properties / iso3 / descriptionPrevious value: -"Country hint for crosswalk artifacts. Default USA."New value: +"Required scope pack for the entire call: one ISO3 country, GLOBAL, or MARINE. Every item must stay within this scope." - added
Input schema / properties / iso3 / minLengthAdded value: +3 - changed
Input schema / properties / items / descriptionPrevious value: -"Reference conversions to run in one call. Default public cap is deployment-configurable."New value: +"Reference conversions within one scope and one source/target/crosswalk route. Split mixed routes. Maximum requested item count times per-item limit is 25000." - added
Input schema / properties / items / items / properties / crosswalk_idAdded value: +{ + "description": "Exact published crosswalk ID when the source/target system pair has multiple artifacts.", + "type": "string" +} - changed
Input schema / properties / items / items / properties / iso3 / descriptionPrevious value: -"Optional country hint for this row."New value: +"Optional repeat of the top-level scope; must match it. Split mixed countries or packs into separate calls."
- Changed
identify_dataset_geography1 field changed- changed
Input schema / properties / country_scope / descriptionPrevious value: -"Optional caller-declared ISO3 hint. Omit when unknown."New value: +"Optional caller-declared ISO3 country, passed through to the selected column."
- Changed
identify_reference_system2 fields changed- changed
Input schema / properties / country_scope / descriptionPrevious value: -"Optional ISO3 country hint used to narrow candidate banks."New value: +"Required single ISO3 country, GLOBAL, or MARINE scope. Missing scope fails before identifier reads." - added
Input schema / requiredAdded value: +[ + "country_scope" +]
1 tool update
- Changed
convert_reference4 fields changed- changed
Input schema / properties / country_hint / descriptionPrevious value: -"Optional country hint for admin/name resolution."New value: +"Optional country hint for admin/name resolution (USA), or a subdivision to search within (USA-OR). Names may also carry their parent: 'Washington County, Oregon'. Ambiguous names return candidates instead of a match." - changed
Input schema / properties / from_system / descriptionPrevious value: -"Input reference system, such as zip, overlay_zcta, nws_fire, tribal, admin_boundary, or loc_id."New value: +"Input reference system, such as admin_boundary (admin and city names; admin_text and place_name are accepted aliases), zip, overlay_zcta, nws_fire, tribal, or loc_id." - changed
Input schema / properties / items / items / properties / country_hint / descriptionPrevious value: -"Optional country hint for admin/name resolution."New value: +"Optional country hint for admin/name resolution (USA), or a subdivision to search within (USA-OR). Names may also carry their parent: 'Washington County, Oregon'. Ambiguous names return candidates instead of a match." - changed
Input schema / properties / value / descriptionPrevious value: -"Identifier or name in the input system."New value: +"Identifier or name in the input system, for example 'Springfield, Illinois' with admin_boundary."
1 tool update
- Changed
get_loc_id_info1 field changed- added
Input schema / properties / as_ofAdded value: +{ + "description": "Optional ISO day, month, or year (YYYY-MM-DD, YYYY-MM, or YYYY). Reviews the current Full source edition and returns a Double-check date alert for coarse or stale coverage; it does not select historical geometry.", + "type": "string" +}
1 tool update
- Changed
resolve_point2 fields changed- added
Input schema / properties / include_marine_context / defaultAdded value: +false - changed
Input schema / properties / include_marine_context / descriptionPrevious value: -"Include parallel Marine overlaps for land matches. Defaults to true; set false for fast administrative loc_id previews. Offshore Marine fallback still applies."New value: +"Opt in to parallel Marine overlaps for land matches. Defaults to false so ordinary administrative resolution stays lightweight. Offshore Marine fallback still applies."
8 tool updates
- Changed
compare_geographies1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "ok", + "spatial_relation" + ] + }, + { + "required": [ + "item_count", + "results" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "batch_id": { + "type": [ + "string", + "null" + ] + }, + "clarification": { + "type": "object" + }, + "compared_count": { + "minimum": 0, + "type": "integer" + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "failed_count": { + "minimum": 0, + "type": "integer" + }, + "guidance": { + "type": "object" + }, + "item_count": { + "minimum": 0, + "type": "integer" + }, + "meter_receipt": { + "type": "object" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "results": { + "items": { + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "id": { + "type": [ + "string", + "integer", + "null" + ] + }, + "ok": { + "type": "boolean" + }, + "row_index": { + "type": [ + "string", + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "settlement_receipt": { + "type": "object" + }, + "spatial_relation": { + "type": [ + "string", + "object", + "null" + ] + }, + "temporal_relation": { + "type": [ + "string", + "object", + "null" + ] + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
convert_reference1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "ok", + "results" + ] + }, + { + "required": [ + "item_count", + "results" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "batch_id": { + "type": [ + "string", + "null" + ] + }, + "clarification": { + "type": "object" + }, + "converted_count": { + "minimum": 0, + "type": "integer" + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "from": { + "type": "object" + }, + "from_system": { + "type": "string" + }, + "guidance": { + "type": "object" + }, + "item_count": { + "minimum": 0, + "type": "integer" + }, + "loc_id": { + "type": [ + "string", + "null" + ] + }, + "meter_receipt": { + "type": "object" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "results": { + "items": { + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "id": { + "type": [ + "string", + "integer", + "null" + ] + }, + "ok": { + "type": "boolean" + }, + "row_index": { + "type": [ + "string", + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "settlement_receipt": { + "type": "object" + }, + "to_system": { + "type": "string" + }, + "unconverted_count": { + "minimum": 0, + "type": "integer" + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
get_geometry1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "ok", + "selection", + "items" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "available": { + "minimum": 0, + "type": "integer" + }, + "batch_id": { + "type": [ + "string", + "null" + ] + }, + "clarification": { + "type": "object" + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "guidance": { + "type": "object" + }, + "include_polygon": { + "type": "boolean" + }, + "items": { + "items": { + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "id": { + "type": [ + "string", + "integer", + "null" + ] + }, + "ok": { + "type": "boolean" + }, + "row_index": { + "type": [ + "string", + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "meter_receipt": { + "type": "object" + }, + "missing": { + "minimum": 0, + "type": "integer" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "requested": { + "minimum": 0, + "type": "integer" + }, + "scope": { + "type": [ + "object", + "null" + ] + }, + "selection": { + "enum": [ + "exact_loc_ids", + "admin_scope" + ], + "type": "string" + }, + "settlement_receipt": { + "type": "object" + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
get_loc_id_info1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "loc_id" + ] + }, + { + "required": [ + "loc_id_count", + "results" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "admin_level": { + "type": [ + "string", + "integer", + "null" + ] + }, + "batch_id": { + "type": [ + "string", + "null" + ] + }, + "clarification": { + "type": "object" + }, + "data_packs": { + "type": "array" + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "family": { + "type": [ + "string", + "null" + ] + }, + "found_count": { + "minimum": 0, + "type": "integer" + }, + "geometry_families": { + "type": "array" + }, + "guidance": { + "type": "object" + }, + "hierarchy": { + "type": "object" + }, + "iso3": { + "type": [ + "string", + "null" + ] + }, + "loc_id": { + "type": "string" + }, + "loc_id_count": { + "minimum": 0, + "type": "integer" + }, + "meter_receipt": { + "type": "object" + }, + "missing_count": { + "minimum": 0, + "type": "integer" + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "next_calls": { + "type": "array" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "references": { + "type": "object" + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "requested_loc_id": { + "type": "string" + }, + "results": { + "items": { + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "id": { + "type": [ + "string", + "integer", + "null" + ] + }, + "ok": { + "type": "boolean" + }, + "row_index": { + "type": [ + "string", + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "settlement_receipt": { + "type": "object" + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
identify_dataset_geography1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "ok", + "status", + "candidates" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "batch_id": { + "type": [ + "string", + "null" + ] + }, + "candidates": { + "items": { + "type": "object" + }, + "type": "array" + }, + "clarification": { + "type": "object" + }, + "column_count": { + "minimum": 0, + "type": "integer" + }, + "coordinate_binding": { + "type": [ + "object", + "null" + ] + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "guidance": { + "type": "object" + }, + "identifier_count": { + "minimum": 0, + "type": "integer" + }, + "limit": { + "minimum": 0, + "type": "integer" + }, + "meter_receipt": { + "type": "object" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "recommended_binding": { + "type": [ + "object", + "null" + ] + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "review_required": { + "type": "boolean" + }, + "settlement_receipt": { + "type": "object" + }, + "status": { + "type": "string" + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
identify_reference_system1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "ok", + "status", + "candidates" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "batch_id": { + "type": [ + "string", + "null" + ] + }, + "candidates": { + "items": { + "type": "object" + }, + "type": "array" + }, + "clarification": { + "type": "object" + }, + "column_count": { + "minimum": 0, + "type": "integer" + }, + "coordinate_binding": { + "type": [ + "object", + "null" + ] + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "guidance": { + "type": "object" + }, + "identifier_count": { + "minimum": 0, + "type": "integer" + }, + "limit": { + "minimum": 0, + "type": "integer" + }, + "meter_receipt": { + "type": "object" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "recommended_binding": { + "type": [ + "object", + "null" + ] + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "review_required": { + "type": "boolean" + }, + "settlement_receipt": { + "type": "object" + }, + "status": { + "type": "string" + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
resolve_deep_point1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "point", + "stack" + ] + }, + { + "required": [ + "point", + "family", + "family_result" + ] + }, + { + "required": [ + "point_count", + "results" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "available_deeper_admin_levels": { + "type": "array" + }, + "batch_id": { + "type": [ + "string", + "null" + ] + }, + "clarification": { + "type": "object" + }, + "deeper_available": { + "type": "boolean" + }, + "deepest_resolved_admin_level": { + "type": [ + "string", + "integer", + "null" + ] + }, + "deepest_resolved_family": { + "type": [ + "string", + "null" + ] + }, + "deepest_resolved_loc_id": { + "type": [ + "string", + "null" + ] + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "family": { + "type": "string" + }, + "family_result": { + "type": "object" + }, + "guidance": { + "type": "object" + }, + "join_keys": { + "type": "object" + }, + "matched": { + "type": [ + "object", + "null" + ] + }, + "meter_receipt": { + "type": "object" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "overlap_families": { + "items": { + "type": "object" + }, + "type": "array" + }, + "point": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "lat": { + "type": "number" + }, + "lon": { + "type": "number" + } + }, + "required": [ + "lat", + "lon" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "point_count": { + "minimum": 0, + "type": "integer" + }, + "reason": { + "type": "string" + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "resolved_count": { + "minimum": 0, + "type": "integer" + }, + "results": { + "items": { + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "id": { + "type": [ + "string", + "integer", + "null" + ] + }, + "ok": { + "type": "boolean" + }, + "row_index": { + "type": [ + "string", + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "settlement_receipt": { + "type": "object" + }, + "shallow_loc_id": { + "type": "string" + }, + "stack": { + "items": { + "type": "object" + }, + "type": "array" + }, + "unresolved_count": { + "minimum": 0, + "type": "integer" + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
resolve_point1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "point", + "stack" + ] + }, + { + "required": [ + "point", + "family", + "family_result" + ] + }, + { + "required": [ + "point_count", + "results" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "available_deeper_admin_levels": { + "type": "array" + }, + "batch_id": { + "type": [ + "string", + "null" + ] + }, + "clarification": { + "type": "object" + }, + "deeper_available": { + "type": "boolean" + }, + "deepest_resolved_admin_level": { + "type": [ + "string", + "integer", + "null" + ] + }, + "deepest_resolved_family": { + "type": [ + "string", + "null" + ] + }, + "deepest_resolved_loc_id": { + "type": [ + "string", + "null" + ] + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "family": { + "type": "string" + }, + "family_result": { + "type": "object" + }, + "guidance": { + "type": "object" + }, + "join_keys": { + "type": "object" + }, + "matched": { + "type": [ + "object", + "null" + ] + }, + "meter_receipt": { + "type": "object" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "overlap_families": { + "items": { + "type": "object" + }, + "type": "array" + }, + "point": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "lat": { + "type": "number" + }, + "lon": { + "type": "number" + } + }, + "required": [ + "lat", + "lon" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "point_count": { + "minimum": 0, + "type": "integer" + }, + "reason": { + "type": "string" + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "resolved_count": { + "minimum": 0, + "type": "integer" + }, + "results": { + "items": { + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "id": { + "type": [ + "string", + "integer", + "null" + ] + }, + "ok": { + "type": "boolean" + }, + "row_index": { + "type": [ + "string", + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "settlement_receipt": { + "type": "object" + }, + "shallow_loc_id": { + "type": "string" + }, + "stack": { + "items": { + "type": "object" + }, + "type": "array" + }, + "unresolved_count": { + "minimum": 0, + "type": "integer" + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
1 tool update
- Changed
get_catalog2 fields changed- added
Input schema / properties / loc_idAdded value: +{ + "description": "Optional DaedalMap loc_id for catalog='data'. Combine with time_range to discover packs confirmed for both place and time. For place details without pack filtering, use get_loc_id_info.", + "type": "string" +} - added
Input schema / properties / time_rangeAdded value: +{ + "additionalProperties": false, + "description": "Optional inclusive discovery window for catalog='data'. At least one bound is required.", + "properties": { + "end": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "start": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + } + }, + "type": "object" +}
6 tool updates
- Removed
create_conversion_job - Removed
create_geometry_export - Removed
estimate_conversion_job - Removed
estimate_geometry_package - Removed
get_job_status - Removed
resolve_loc_id_scope
17 tool updates
- Removed
check_geometry - Changed
convert_reference9 fields changed- changed
Input schema / anyOfPrevious value: -[ - { - "required": [ - "from_system", - "value", - "to_system" - ] - }, - { - "required": [ - "items" - ] - } -]New value: +[ + { + "required": [ + "from_system", + "value" + ] + }, + { + "required": [ + "items" + ] + } +] - added
Input schema / properties / admin_level_hintAdded value: +{ + "description": "Optional admin-level hint for admin/name resolution.", + "maximum": 6, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / as_ofAdded value: +{ + "description": "ISO date or year used for time-bounded identities.", + "type": "string" +} - added
Input schema / properties / country_hintAdded value: +{ + "description": "Optional country hint for admin/name resolution.", + "type": "string" +} - added
Input schema / properties / items / items / properties / admin_level_hintAdded value: +{ + "description": "Optional admin-level hint for admin/name resolution.", + "maximum": 6, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / items / items / properties / as_ofAdded value: +{ + "description": "ISO date or year used for time-bounded identities.", + "type": "string" +} - added
Input schema / properties / items / items / properties / country_hintAdded value: +{ + "description": "Optional country hint for admin/name resolution.", + "type": "string" +} - added
Input schema / properties / to_system / defaultAdded value: +"daedalmap.loc_id" - changed
Input schema / properties / to_system / descriptionPrevious value: -"Output reference system, such as loc_id, zcta, nws_fire, overlay_nws_public_zone, overlay_tribal, admin_local, or admin_geometry."New value: +"Optional output reference system. Defaults to DaedalMap loc_id; provide zcta, nws_fire, overlay_nws_public_zone, overlay_tribal, admin_local, or another catalog system for any-to-any conversion."
- Changed
estimate_conversion_job1 field changed- changed
Input schema / properties / batch_id / descriptionPrevious value: -"Coordinate mode only: batch id the resolve_points run will send."New value: +"Coordinate mode only: batch id the resolve_point run will send."
- Changed
get_catalog9 fields changed- added
Input schema / properties / catalogAdded value: +{ + "default": "data", + "description": "Catalog family. The geography facade defaults to geometry; other facades default to data.", + "enum": [ + "data", + "geometry" + ], + "type": "string" +} - added
Input schema / properties / country_scopeAdded value: +{ + "description": "Optional ISO3 focus for catalog='geometry' with detail='lite'.", + "type": "string" +} - added
Input schema / properties / detailAdded value: +{ + "default": "lite", + "description": "Use lite to select a pack, full for expanded metric/query inventories, or download for the complete raw catalog URL.", + "enum": [ + "lite", + "full", + "download" + ], + "type": "string" +} - changed
Output schema / anyOfPrevious value: -[ - { - "required": [ - "packs" - ] - }, - { - "required": [ - "error" - ] - } -]New value: +[ + { + "required": [ + "catalog", + "detail" + ] + }, + { + "required": [ + "error" + ] + } +] - added
Output schema / properties / catalogAdded value: +{ + "enum": [ + "data", + "geometry" + ], + "type": "string" +} - added
Output schema / properties / detailAdded value: +{ + "enum": [ + "lite", + "full", + "download" + ], + "type": "string" +} - added
Output schema / properties / download_urlAdded value: +{ + "type": "string" +} - added
Output schema / properties / next_step / anyOfAdded value: +[ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } +] - removed
Output schema / properties / next_step / requiredRemoved value: -[ - "action" -]
- Changed
get_geometry7 fields changed- removed
Input schema / anyOfRemoved value: -[ - { - "required": [ - "loc_id" - ] - }, - { - "required": [ - "loc_ids" - ] - } -] - added
Input schema / oneOfAdded value: +[ + { + "required": [ + "loc_id" + ] + }, + { + "required": [ + "loc_ids" + ] + }, + { + "required": [ + "scope" + ] + } +] - removed
Input schema / properties / detailRemoved value: -{ - "default": "lite", - "description": "Lite returns shape metadata, bbox, and centroid. Full also includes the attached location-info block.", - "enum": [ - "lite", - "full" - ], - "type": "string" -} - changed
Input schema / properties / loc_ids / descriptionPrevious value: -"DaedalMap loc_ids to fetch in one call. Default public cap is deployment-configurable and lower when include_polygon is true."New value: +"Exact DaedalMap loc_ids to fetch in one call. Default public cap is deployment-configurable and lower when include_polygon is true." - added
Input schema / properties / loc_ids / minItemsAdded value: +1 - added
Input schema / properties / loc_ids / uniqueItemsAdded value: +true - added
Input schema / properties / scopeAdded value: +{ + "additionalProperties": false, + "properties": { + "admin_level": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ], + "description": "Descendant level to retrieve, such as admin_2, 2, or county." + }, + "bbox": { + "anyOf": [ + { + "items": { + "type": "number" + }, + "maxItems": 4, + "minItems": 4, + "type": "array" + }, + { + "type": "string" + } + ], + "description": "Optional minLon,minLat,maxLon,maxLat intersection filter." + }, + "parent_loc_id": { + "description": "Administrative parent loc_id, such as USA-TX or CAN-BC.", + "type": "string" + } + }, + "required": [ + "parent_loc_id", + "admin_level" + ], + "type": "object" +}
- Added
get_loc_id_info - Changed
get_pack13 fields changed- added
Input schema / properties / catalogAdded value: +{ + "description": "Metadata family. When omitted, geometry facades default to geometry and known geometry-family ids are inferred; all other calls default to data.", + "enum": [ + "data", + "geometry" + ], + "type": "string" +} - added
Input schema / properties / country_scopeAdded value: +{ + "description": "Optional ISO3 country for a geometry family. Omit it to learn which countries publish the family; provide it for country-specific versions, vintages, levels, and artifacts.", + "pattern": "^[A-Za-z]{3}$", + "type": "string" +} - changed
Input schema / properties / detail / descriptionPrevious value: -"Use lite for normal discovery. Use full only for one selected pack when its complete public metadata is required."New value: +"Use lite to decide and start, full for detailed MCP query metadata, or download for the complete raw metadata file." - changed
Input schema / properties / detail / enumPrevious value: -[ - "lite", - "full" -]New value: +[ + "lite", + "full", + "download" +] - added
Input schema / properties / release_unitAdded value: +{ + "description": "Optional non-country geometry release unit such as GLOBAL or MARINE. Do not combine with country_scope.", + "pattern": "^[A-Za-z0-9_-]+$", + "type": "string" +} - changed
Output schema / anyOfPrevious value: -[ - { - "required": [ - "pack_id" - ] - }, - { - "required": [ - "error" - ] - } -]New value: +[ + { + "required": [ + "catalog", + "pack_id", + "detail" + ] + }, + { + "required": [ + "error" + ] + } +] - added
Output schema / properties / catalogAdded value: +{ + "enum": [ + "data", + "geometry" + ], + "type": "string" +} - added
Output schema / properties / detailAdded value: +{ + "enum": [ + "lite", + "full", + "download" + ], + "type": "string" +} - added
Output schema / properties / download_callAdded value: +{ + "type": "object" +} - added
Output schema / properties / download_urlAdded value: +{ + "type": "string" +} - added
Output schema / properties / full_callAdded value: +{ + "type": "object" +} - added
Output schema / properties / next_step / anyOfAdded value: +[ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } +] - removed
Output schema / properties / next_step / requiredRemoved value: -[ - "action" -]
- Changed
get_tool_help7 fields changed- added
Input schema / oneOfAdded value: +[ + { + "not": { + "required": [ + "topic" + ] + }, + "required": [ + "tool_name" + ] + }, + { + "not": { + "required": [ + "tool_name" + ] + }, + "required": [ + "topic" + ] + } +] - added
Input schema / properties / questionAdded value: +{ + "description": "Optional question used only with a topic overview.", + "type": "string" +} - changed
Input schema / properties / tool_name / descriptionPrevious value: -"Exact tool name from tools/list."New value: +"Exact tool name from tools/list. Do not combine with topic." - added
Input schema / properties / topicAdded value: +{ + "description": "Workflow overview. Do not combine with tool_name.", + "enum": [ + "overview", + "data", + "disasters", + "custom_data", + "geometry" + ], + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "tool_name" -] - added
Output schema / properties / next_step / anyOfAdded value: +[ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } +] - removed
Output schema / properties / next_step / requiredRemoved value: -[ - "action" -]
- Removed
how_geometry_works - Removed
list_reference_systems - Removed
loc_id_info - Removed
read_geometry_catalog - Changed
resolve_deep_point4 fields changed- added
Input schema / oneOfAdded value: +[ + { + "not": { + "required": [ + "points" + ] + }, + "required": [ + "lat", + "lon" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "lat" + ] + }, + { + "required": [ + "lon" + ] + } + ] + }, + "required": [ + "points" + ] + } +] - added
Input schema / properties / batch_idAdded value: +{ + "description": "Optional caller-supplied batch id echoed for point arrays.", + "type": "string" +} - added
Input schema / properties / pointsAdded value: +{ + "description": "Points already known to fall within the supplied shallow_loc_id scope.", + "items": { + "additionalProperties": false, + "properties": { + "id": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "lat": { + "maximum": 90, + "minimum": -90, + "type": "number" + }, + "lon": { + "maximum": 180, + "minimum": -180, + "type": "number" + }, + "row_index": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "lat", + "lon" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" +} - changed
Input schema / requiredPrevious value: -[ - "lat", - "lon", - "shallow_loc_id" -]New value: +[ + "shallow_loc_id" +]
- Removed
resolve_deep_points - Changed
resolve_point4 fields changed- added
Input schema / oneOfAdded value: +[ + { + "not": { + "required": [ + "points" + ] + }, + "required": [ + "lat", + "lon" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "lat" + ] + }, + { + "required": [ + "lon" + ] + } + ] + }, + "required": [ + "points" + ] + } +] - added
Input schema / properties / batch_idAdded value: +{ + "description": "Optional caller-supplied batch id echoed for point arrays.", + "type": "string" +} - added
Input schema / properties / pointsAdded value: +{ + "description": "Bounded WGS84 point array. Use top-level lat/lon instead for one point.", + "items": { + "additionalProperties": false, + "properties": { + "id": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "lat": { + "maximum": 90, + "minimum": -90, + "type": "number" + }, + "lon": { + "maximum": 180, + "minimum": -180, + "type": "number" + }, + "row_index": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "lat", + "lon" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" +} - removed
Input schema / requiredRemoved value: -[ - "lat", - "lon" -]
- Removed
resolve_points - Removed
resolve_reference
5 tool updates
- Changed
estimate_conversion_job7 fields changed- changed
Input schema / anyOfPrevious value: -[ - { - "required": [ - "from_system", - "items" - ] - }, - { - "required": [ - "from_system", - "row_count" - ] - }, - { - "required": [ - "geography_binding", - "items" - ] - }, - { - "required": [ - "geography_binding", - "row_count" - ] - } -]New value: +[ + { + "required": [ + "from_system", + "items" + ] + }, + { + "required": [ + "from_system", + "row_count" + ] + }, + { + "required": [ + "geography_binding", + "items" + ] + }, + { + "required": [ + "geography_binding", + "row_count" + ] + }, + { + "required": [ + "geography_binding", + "point_count", + "request_id" + ] + } +] - added
Input schema / properties / batch_idAdded value: +{ + "description": "Coordinate mode only: batch id the resolve_points run will send.", + "type": "string" +} - changed
Input schema / properties / geography_binding / descriptionPrevious value: -"Known dataset-geography declaration. The estimate verifies it against distinct identifiers and avoids point containment."New value: +"Known dataset-geography declaration. Identifier modes require system; the estimate verifies it against distinct identifiers and avoids point containment. Mode coordinates quotes point resolution from point_count." - changed
Input schema / properties / geography_binding / properties / mode / enumPrevious value: -[ - "reference", - "loc_id" -]New value: +[ + "reference", + "loc_id", + "coordinates" +] - changed
Input schema / properties / geography_binding / properties / system / descriptionPrevious value: -"Declared identifier system. Used when from_system is omitted."New value: +"Declared identifier system. Used when from_system is omitted. Not used for mode coordinates." - removed
Input schema / properties / geography_binding / requiredRemoved value: -[ - "system" -] - added
Input schema / properties / point_countAdded value: +{ + "description": "Coordinate mode only: rows with a valid latitude/longitude pair. The quote ceiling; blank or invalid rows are excluded and never charged.", + "minimum": 0, + "type": "integer" +}
- Changed
get_geometry1 field changed- added
Input schema / properties / detailAdded value: +{ + "default": "lite", + "description": "Lite returns shape metadata, bbox, and centroid. Full also includes the attached location-info block.", + "enum": [ + "lite", + "full" + ], + "type": "string" +}
- Changed
get_pack1 field changed- added
Input schema / properties / detailAdded value: +{ + "default": "lite", + "description": "Use lite for normal discovery. Use full only for one selected pack when its complete public metadata is required.", + "enum": [ + "lite", + "full" + ], + "type": "string" +}
- Changed
list_reference_systems1 field changed- changed
Input schema / properties / include_crosswalks / descriptionPrevious value: -"Include actionable source-to-target crosswalk records. Default true."New value: +"Include actionable crosswalk and artifact records. Default false because these records are much larger than the system index."
- Changed
read_geometry_catalog1 field changed- changed
Input schema / properties / view / descriptionPrevious value: -"Catalog view to return. Use capabilities for the concise first-user coverage model. Default summary for compatibility."New value: +"Catalog view to return. Capabilities is the compact default and first-user coverage model. Public full returns the bulk-download location rather than embedding the raw catalog."
2 tool updates
- Changed
estimate_conversion_job1 field changed- changed
Input schema / properties / items / descriptionPrevious value: -"Sample or full rows; row-level fields may override top-level defaults."New value: +"Representative sample or full rows; the estimate resolves at most the first 32. Row-level fields may override top-level defaults."
- Changed
identify_reference_system1 field changed- changed
Input schema / properties / validation_scope / descriptionPrevious value: -"Describes whether the supplied identifiers are a sample or the complete distinct-key set. The tool validates every supplied identifier."New value: +"Describes whether the bounded input is a sample or, only when it fits the identification cap, the complete distinct-key set. This tool validates every supplied identifier; create_conversion_job validates every row in the full dataset."
3 tool updates
- Changed
read_geometry_catalog1 field changed- changed
Input schema / properties / country_scope / descriptionPrevious value: -"Optional ISO3 country code for view='capabilities'. Returns the selected country's baseline, active depth, families, and query guidance."New value: +"Optional ISO3 country code for view='capabilities'. Returns active depth, published families, and query guidance."
- Changed
resolve_deep_point5 fields changed- removed
Input schema / properties / admin_1_loc_idRemoved value: -{ - "description": "Exactly one Admin 1 loc_id from resolve_point, such as USA-CA.", - "minLength": 5, - "type": "string" -} - added
Input schema / properties / familyAdded value: +{ + "default": "administrative", + "description": "One family selector. Defaults to administrative; use marine for the direct Marine resolver, or a canonical country family such as postal_area, watershed, or land_management_region.", + "pattern": "^[a-z0-9_]+$", + "type": "string" +} - removed
Input schema / properties / include_marine_contextRemoved value: -{ - "description": "Include parallel Marine overlaps. Defaults to true.", - "type": "boolean" -} - added
Input schema / properties / shallow_loc_idAdded value: +{ + "description": "The deepest canonical Admin 1-3 loc_id returned by resolve_point, such as USA-NY-061-009903.", + "minLength": 5, + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "lat", - "lon", - "admin_1_loc_id" -]New value: +[ + "lat", + "lon", + "shallow_loc_id" +]
- Changed
resolve_deep_points6 fields changed- removed
Input schema / properties / admin_1_loc_idRemoved value: -{ - "description": "Exactly one Admin 1 loc_id from resolve_points, such as USA-CA. All coordinates in the call must belong to it.", - "minLength": 5, - "type": "string" -} - added
Input schema / properties / familyAdded value: +{ + "default": "administrative", + "description": "One canonical family ID for the entire batch.", + "pattern": "^[a-z0-9_]+$", + "type": "string" +} - removed
Input schema / properties / include_marine_contextRemoved value: -{ - "description": "Include parallel Marine overlaps. Defaults to true.", - "type": "boolean" -} - changed
Input schema / properties / points / descriptionPrevious value: -"Points already known to fall within admin_1_loc_id. Maximum 100 per call during the initial technical rollout."New value: +"Points already known to fall within the supplied shallow_loc_id scope. Maximum 100 per call during the initial technical rollout." - added
Input schema / properties / shallow_loc_idAdded value: +{ + "description": "A canonical Admin 1-3 loc_id returned by resolve_points. All coordinates in the call must belong to its scope.", + "minLength": 5, + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "points", - "admin_1_loc_id" -]New value: +[ + "points", + "shallow_loc_id" +]
4 tool updates
- Added
resolve_deep_point - Added
resolve_deep_points - Changed
resolve_point10 fields changed- removed
Input schema / anyOfRemoved value: -[ - { - "required": [ - "lat", - "lon" - ] - }, - { - "required": [ - "points" - ] - } -] - removed
Input schema / properties / admin_1_scopeRemoved value: -{ - "description": "Required in deep mode. One Admin 1 loc_id returned by the standard pass, such as USA-CA. Every point must belong to this owner partition.", - "type": "string" -} - removed
Input schema / properties / batch_idRemoved value: -{ - "description": "Optional caller-supplied batch id echoed in the result.", - "type": "string" -} - removed
Input schema / properties / bulk_presetRemoved value: -{ - "description": "Cross-country standard-mode path that fixes the exact result level. Use instead of country_scope; target_admin_level may be omitted.", - "enum": [ - "global_admin_0", - "global_admin_1" - ], - "type": "string" -} - removed
Input schema / properties / country_hintRemoved value: -{ - "description": "Alias for country_scope for clients that already use hint terminology.", - "type": "string" -} - removed
Input schema / properties / country_scopeRemoved value: -{ - "description": "ISO3/Admin 0 loc_id scope such as USA or CAN. Optional in standard mode and required in deep mode; every deep-mode point must belong to this one country.", - "type": "string" -} - removed
Input schema / properties / lookup_modeRemoved value: -{ - "description": "Standard (default) caps I/O at Admin 3. Deep requires exactly one country_scope and one admin_1_scope, and opens at most one deep partition.", - "enum": [ - "standard", - "deep" - ], - "type": "string" -} - removed
Input schema / properties / pointsRemoved value: -{ - "description": "Points to resolve. Standard mode accepts cross-country batches and caps geometry I/O at Admin 3. Deep batches require one country_scope and one admin_1_scope; larger deep batches also require target_admin_level. Anonymous callers may receive a payment challenge; verified accounts have included throughput through 10,000 points.", - "items": { - "additionalProperties": false, - "properties": { - "id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Optional caller point identifier echoed in the result." - }, - "lat": { - "description": "Latitude in WGS84 decimal degrees.", - "maximum": 90, - "minimum": -90, - "type": "number" - }, - "lon": { - "description": "Longitude in WGS84 decimal degrees.", - "maximum": 180, - "minimum": -180, - "type": "number" - }, - "row_index": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Optional caller row identifier echoed in the result." - } - }, - "required": [ - "lat", - "lon" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" -} - changed
Input schema / properties / target_admin_level / descriptionPrevious value: -"Optional exact requested level. Standard mode accepts Admin 0-3; deep mode accepts Admin 4-6. Omit it to return the deepest available level permitted by the selected mode."New value: +"Optional exact requested level from Admin 0-3. Omit it to return the deepest available shallow level." - added
Input schema / requiredAdded value: +[ + "lat", + "lon" +]
- Added
resolve_points
Related MCP Connectors
Convert WGS84 coordinates to the latest available administrative loc_id chain.
Resolve coordinates against delivery and coverage polygons (geofences).
Retrieve loc_id boundary metadata, polygons, supported scopes, and comparisons.
Resolves IP autonomous system numbers (ASN) and geographic coordinates.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables resolving US latitude/longitude points to Census block, county, and state FIPS codes and names, along with 2020 block population and FCC market-area codes when needed.7 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables forward and reverse geocoding of US addresses, returning coordinates and the full Census geography stack with GEOIDs, including batch geocoding of up to 100 addresses.13 npmMIT
- AlicenseAqualityDmaintenanceProvides forward/reverse geocoding, bounding box extraction, nearby places discovery, batch geocoding, route waypoints, and administrative boundary lookup using OpenStreetMap data.10Apache 2.0

atlasfetch-mcpofficial
AlicenseAqualityAmaintenanceEnables reverse geocoding of coordinates to country, region, and municipality with ISO 3166 codes, and matching against user-defined geofences.7423 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.