Skip to main content
Glama

DaedalMap Geography Tools (loc_id)

Server Details

Resolve coordinates and geographic identifiers to loc_id, crosswalks, boundaries, and exports.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
xyver/daedal-map
GitHub Stars
2
Server Listing
daedal-map

TDQS

A3.9/5.0

Scored across 21 tools

Disambiguation4/5

Core actions like resolve_point, compare_geographies, get_geometry, and create_conversion_job are clearly distinct. However, several discovery/guidance tools (get_catalog, read_geometry_catalog, list_reference_systems, get_pack, get_tool_help, how_geometry_works) have subtly overlapping purposes that could cause misselection. Detailed descriptions mitigate this, but some ambiguity remains.

Naming Consistency4/5

Nearly all tools use consistent snake_case and follow a verb_noun pattern (get_geometry, resolve_point, create_conversion_job). Minor deviations such as how_geometry_works (phrase-style) and loc_id_info (noun-based) are readable but break the strict pattern. Overall naming is predictable and coherent.

Tool Count3/5

At 21 tools, the set is heavy for the stated purpose and exceeds the ideal 3-15 range. While the domain is broad, six discovery/help tools plus paired estimate/create tools create redundancy that could be consolidated. The count is borderline rather than clearly excessive.

Completeness4/5

The surface covers discovery, point/reference resolution, geometry retrieval, hierarchy traversal, comparison, exports, conversions, estimates, and job status. Minor gaps include no durable queued job management or downloadable artifact links, and no explicit update/delete for jobs, but core geography workflows are well supported.

Available Tools

21 tools
check_geometryCheck loc_id Geometry AvailabilityA
Read-only
Inspect

Fast shape-only preflight for one loc_id or a bounded loc_id list. Reports whether each exact identity has reusable geometry and its geometry vintage. Historical geometry remains the primary result; an evidenced current successor is only an explicit follow-up choice. It does not resolve points or explain other identity relationships. Use before get_geometry or an export. No payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
loc_idNoDaedalMap loc_id to check for available geometry.
loc_idsNoDaedalMap loc_ids to check for available geometry. Default public cap is deployment-configurable.
batch_idNoOptional caller-supplied batch id for tracing.
request_idNoOptional caller-supplied request id for tracing.

TDQS

A4.5/5.0
Behavior4/5

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

The readOnlyHint annotation already establishes safety, and the description adds meaningful behavioral nuance: historical geometry is the primary result, a current successor is only an explicit follow-up, and the call is a fast shape-only preflight. It also notes no payment is required, which is useful beyond the annotation.

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

Conciseness5/5

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

Five short sentences, each earning its place: what it does, what it reports, primary-result behavior, exclusions, and when to use it. The most decision-relevant information is front-loaded.

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

Completeness5/5

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

For a simple read-only preflight with two documented parameters and no output schema, the description is complete. It tells the agent what is returned, what is not returned, when to call it, and what constraints apply to the input.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already documents both parameters clearly. The tool description adds the 'bounded' qualifier and reinforces the single-vs-list choice, which helps an agent select the correct argument shape without opening the schema.

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

Purpose5/5

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

States a specific action ('shape-only preflight'), a specific resource ('geometry availability'), and the exact unit of work ('one loc_id or a bounded loc_id list'). It also distinguishes itself from sibling tools by explicitly saying it does not resolve points or explain other identity relationships.

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

Usage Guidelines4/5

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

Gives clear usage context: 'Use before get_geometry or an export.' It also signals when not to use it by excluding point resolution and identity-relationship explanation. It does not explicitly name the alternative tools for those excluded behaviors, so it stops just short of fully explicit routing.

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

compare_geographiesCompare Geographic IdentitiesA
Read-only
Inspect

Detailed relationship tool for two geographic identities. Returns temporal validity, N-way successor context, topology, geodesic intersection area, and directional overlap shares when approved geometry exists. Use this after a compact point lookup when the caller asks whether two tiers/releases really contain or overlap one another. A point-chain seam is not proof of strict parentage. Use resolve_reference first for names or outside identifiers. No payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNoISO date or year applied to both identities.
itemsNoBounded geography pairs to compare in one call.
batch_idNoOptional caller-supplied batch id for tracing.
left_as_ofNoOptional ISO date or year for the left identity; overrides as_of.
request_idNoOptional caller-supplied request id for tracing.
left_loc_idNoFirst DaedalMap loc_id.
right_as_ofNoOptional ISO date or year for the right identity; overrides as_of.
right_loc_idNoSecond DaedalMap loc_id.
include_successorsNoInclude direct successors and present-day descendants for maintained historical identities. Default true.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations include readOnlyHint=true, and the description adds conditional behavior ('when approved geometry exists') and the caveat about point-chain seams. It does not contradict annotations and provides useful context beyond the read-only hint.

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

Conciseness4/5

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

Four sentences, front-loaded with the core purpose. The inclusion of 'No payment required' is slightly extraneous but does not significantly harm clarity.

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

Completeness4/5

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

For a complex tool with 9 parameters and no output schema, the description covers key return values and usage context. It lacks explicit mention of batch usage via the 'items' parameter, but the schema covers that. It is otherwise quite complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional parameter-level detail; baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's function: 'Detailed relationship tool for two geographic identities' and lists specific outputs (temporal validity, successor context, topology, geodesic intersection area, overlap shares). This distinguishes it from sibling tools like get_geometry or resolve_point.

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

Usage Guidelines5/5

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

Provides explicit usage context: 'Use this after a compact point lookup' and directs to 'Use resolve_reference first for names or outside identifiers.' Also gives a critical caveat: 'A point-chain seam is not proof of strict parentage.'

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

convert_referenceConvert Geographic ReferenceA
Read-only
Inspect

Free geography utility. Converts one reference, or a bounded list of references, from one geographic reference system into another by resolving through DaedalMap loc_id: X -> loc_id -> Y. Use this for workflows like ZIP/ZCTA to NWS fire zones, NWS zone to counties, county to overlapping ZCTAs, or any future catalog-backed crosswalk. No payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
iso3NoCountry hint for crosswalk artifacts. Default USA.
itemsNoReference conversions to run in one call. Default public cap is deployment-configurable.
limitNoMaximum ranked output references to return. Default 10.
valueNoIdentifier or name in the input system.
batch_idNoOptional caller-supplied batch id for tracing.
min_shareNoOptional minimum overlap share threshold.
to_systemNoOutput reference system, such as loc_id, zcta, nws_fire, overlay_nws_public_zone, overlay_tribal, admin_local, or admin_geometry.
request_idNoOptional caller-supplied request id for tracing.
from_systemNoInput reference system, such as zip, overlay_zcta, nws_fire, tribal, admin_boundary, or loc_id.
target_admin_levelNoAdmin level used as the intermediate crosswalk target. Default admin_2.
relationship_vintageNoOptional source relationship vintage to require.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description adds behavioral context beyond that: it is 'Free geography utility' with 'No payment required,' and it explains the internal resolution path (X -> loc_id -> Y). This gives the agent useful insight into how the conversion works without contradicting the read-only hint.

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

Conciseness4/5

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

The description is compact and front-loaded with the core purpose. The only redundancy is 'No payment required,' which repeats the earlier 'Free geography utility' assertion, but overall every other sentence earns its place and the examples are scannable.

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

Completeness3/5

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

Given the tool's complexity (11 parameters, no output schema, many siblings), the description covers high-level purpose and use cases but leaves gaps around output/ranking behavior, the role of target_admin_level or relationship_vintage, and how results are ordered or scored. The schema documents parameters well, but the description does not fully bridge the absence of an output schema.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by providing concrete examples of valid from_system/to_system values (ZIP, ZCTA, NWS fire zones, counties) and by explaining the single vs. bounded-list mode ('one reference, or a bounded list of references'), which clarifies the two top-level invocation styles.

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

Purpose5/5

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

The description explicitly states the verb (converts), the resource (geographic reference), and the mechanism (resolving through DaedalMap loc_id: X -> loc_id -> Y). It also lists concrete use cases (ZIP/ZCTA to NWS fire zones, NWS zone to counties) that clearly distinguish it from sibling tools like identify_reference_system or resolve_reference.

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

Usage Guidelines4/5

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

The description gives clear context for when to use the tool: 'Use this for workflows like ZIP/ZCTA to NWS fire zones, NWS zone to counties, county to overlapping ZCTAs, or any future catalog-backed crosswalk.' However, it does not explicitly state when not to use it or name alternative sibling tools, so it misses the highest bar for exclusions/alternatives.

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

create_conversion_jobCreate loc_id Conversion JobBInspect

Creates a synchronous v0 user-data conversion job with preserved scalar fields and JSON rows, CSV, JSON Lines, or Parquet output. Hosted service default: 7,500 rows, tuned around a 10-20 second response budget. A direct local-runtime loopback caller has no service item cap; local machine resources are the boundary. Identifier deduplication keeps repeated geography keys efficient.

ParametersJSON Schema
NameRequiredDescriptionDefault
iso3No
itemsYesRows to convert; row-level fields may override top-level defaults.
limitNo
quote_idNoQuote id returned by estimate_conversion_job, when available.
min_shareNo
to_systemNoOptional output reference system. Omit to normalize to loc_id.
request_idNoOptional caller-supplied request id for tracing.
from_systemNo
output_nameNo
output_formatNo
geography_bindingNo
target_admin_levelNo
relationship_vintageNo

TDQS

B3.4/5.0
Behavior5/5

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

The description adds substantial behavioral detail beyond the readOnlyHint=false annotation: synchronous execution, a hosted 7,500-row default, a 10-20 second response budget, local-loopback behavior with no service cap, and identifier deduplication. This gives the agent useful expectations about limits, performance, and execution semantics. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is three sentences with the core action, resource, and output formats front-loaded. The second and third sentences add capacity, performance, and behavioral context without fluff. Every sentence earns its place.

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

Completeness2/5

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

For a complex tool with 13 parameters, low schema coverage, and no output schema, the description omits critical information: no response/return structure, no explanation of the items array's role, and no mention of the from_system versus geography_binding choice. An agent would still need external schemas or help to invoke this correctly on non-trivial inputs.

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

Parameters2/5

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

Schema description coverage is only 31%, and the description does not explain the core conversion parameters such as from_system, geography_binding, to_system, iso3, limit, min_share, target_admin_level, or relationship_vintage. It adds useful context around output_format and overall item counts, but most of the 13 parameters remain underspecified. The description only partially compensates for the schema's low coverage.

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

Purpose4/5

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

The description states a specific action and object: 'Creates a synchronous v0 user-data conversion job' and immediately specifies output formats. This goes beyond the title and helps distinguish it from estimate and geometry siblings, though it never explicitly names an alternative. It is clear but sibling differentiation is implicit rather than stated.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus estimate_conversion_job, convert_reference, or resolve_reference. The 'synchronous' qualifier hints at immediate conversion use, but no prerequisites, exclusions, or alternative-selection conditions are given. The agent is left to infer routing.

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

create_geometry_exportCreate Geometry ExportAInspect

Creates a synchronous v0 geometry export from exact loc_ids or one strict scope as real GeoJSON, gzipped GeoJSON, or zipped GeoJSON. Hosted service default: 250 selected loc_ids, sized around a 10-20 second response budget and configurable by deployment. A direct local-runtime loopback caller has no service item cap. Use estimate_geometry_package or get_tool_help for the effective access lane.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNo
formatNo
loc_idNo
loc_idsNoSelected loc_ids. The default synchronous limit is 250; larger calls return a typed operational-limit response.
quote_idNoQuote id returned by estimate_geometry_package, when available.
request_idNoOptional caller-supplied request id for tracing.
output_nameNo
include_polygonNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only provide readOnlyHint=false, leaving the description to carry the burden. It discloses synchrony, response budget, service-item caps, and environment-dependent behavior (hosted vs local loopback). This is substantial behavioral context beyond what annotations offer.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action, then scaling limits and redirection. Every sentence contributes value without repetition or filler.

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

Completeness4/5

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

For a create/export tool with no output schema, it covers purpose, limits, access lane, and formats. The only notable omission is the return value or response structure, which is a minor gap given the tool's nature.

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

Parameters4/5

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

Schema coverage is only 38% (3 of 8 params described). The description compensates by clarifying that loc_ids are an exact list with a default cap of 250, scope must be a single strict scope, format maps directly to the enum, and quote_id originates from estimate_geometry_package. Some optional params like include_polygon and output_name remain unexplained, but the core selection params gain meaningful context.

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

Purpose5/5

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

The description clearly states it 'Creates a synchronous v0 geometry export' from 'exact loc_ids or one strict scope', with explicit format options (GeoJSON, gzipped GeoJSON, zipped GeoJSON). This specific verb-resource pair distinguishes it from sibling tools like get_geometry (retrieval) and create_conversion_job (asynchronous conversion).

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

Usage Guidelines4/5

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

Provides clear operational guidance: hosted service default of 250 loc_ids, 10-20 second response budget, and direct local-loopback exception. It explicitly directs users to estimate_geometry_package or get_tool_help for the effective access lane. However, it doesn't explicitly contrast with async alternatives like create_conversion_job, so not a full 5.

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

estimate_conversion_jobEstimate loc_id Conversion JobA
Read-only
Inspect

Free dry-run quote for uploaded or pasted user data conversion. Estimates rows, sample resolvability, output bytes, errors, and charge units before execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
iso3No
itemsNoSample or full rows; row-level fields may override top-level defaults.
limitNo
min_shareNo
row_countNoExpected total row count when only a sample or artifact pointer is provided.
to_systemNoOptional output reference system. Omit to normalize to loc_id.
request_idNoOptional caller-supplied request id for tracing.
from_systemNoInput reference system for rows.
output_nameNoOptional safe base filename.
output_formatNoEnriched-row output format. CSV is spreadsheet-friendly; Parquet is compact and typed; JSON Lines is stream-friendly.
geography_bindingNoKnown dataset-geography declaration. The estimate verifies it against distinct identifiers and avoids point containment.
target_admin_levelNo
relationship_vintageNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces this by stating 'dry-run' and 'before execution', indicating no side effects. It adds that the quote is 'free' and estimates charge units, which is useful context. However, it does not discuss authentication, rate limits, or what happens on error, but given the read-only nature, the description is adequate and consistent.

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

Conciseness4/5

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

The description is two sentences, front-loaded with 'Free dry-run quote', and conveys the core value without extraneous words. It is concise and well-structured, though it could have added one clarifying sentence about input modes without becoming verbose.

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

Completeness2/5

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

Given 13 parameters, nested anyOf schemas, and no output schema, the description is insufficient. It does not explain how to provide input (items vs row_count), the role of geography_binding, or how output_format affects the estimate. An agent would need to dig into the schema to understand request formation, which is a significant gap for this complexity.

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

Parameters3/5

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

Schema description coverage is 62%, and some parameters already have descriptions (e.g., data reserved columns, to_system, output_format). The description mentions 'uploaded or pasted user data' which hints at the items or row_count modes but does not explain the anyOf structure or how to choose between them. It also does not clarify geography_binding semantics beyond what is in the schema. It provides partial value but does not fully compensate for unpresented parameters.

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

Purpose5/5

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

The description clearly states it is a 'free dry-run quote' for 'user data conversion' and lists specific estimates (rows, sample resolvability, output bytes, errors, charge units). This distinguishes it from sibling tools like create_conversion_job, which actually performs conversions, and estimate_geometry_package, which focuses on geometry packages.

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

Usage Guidelines3/5

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

The description implies it is for pre-execution estimation ('before execution') and is a dry-run, but it does not explicitly state when to use this instead of alternatives like create_conversion_job or how it differs from other estimate tools. No exclusions or alternative routing is mentioned; the intent is inferred from 'dry-run quote'.

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

estimate_geometry_packageEstimate Geometry PackageA
Read-only
Inspect

Dry-run estimate for a selected geometry export: exact loc_id count, shape/vintage availability, bytes, delivery mode, citation requirements, and charge units. This estimates an export artifact, not a canonical DaedalMap geometry release bundle.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNo
formatNoImplemented delivery format. Unsupported format names are rejected rather than silently returning another representation.
loc_idNoSingle loc_id to package.
loc_idsNoExplicit loc_ids to package.
request_idNoOptional caller-supplied request id for tracing.
output_nameNoOptional safe base filename for the export.
include_polygonNoEstimate full shapes when true; metadata-only when false.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, and the description reinforces this with 'Dry-run' and 'estimates an export artifact'. It adds valuable context by disclosing exactly what the estimate covers (loc_id count, shape/vintage availability, bytes, delivery mode, citation requirements, charge units) and explicitly excludes canonical release bundles. No contradictions or hidden side effects are indicated.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose ('Dry-run estimate for a selected geometry export') and followed by a clarifying exclusion. Every word adds value—no filler or redundancy. It is highly concise and effectively structured.

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

Completeness4/5

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

For a read-only tool with a rich schema and no output schema, the description adequately covers the purpose, output contents, and scope exclusions. It does not explicitly explain the input selection methods (e.g., loc_id vs. scope) but the schema covers that. Given the tool's moderate complexity and high schema coverage, the description is complete enough, though it could benefit from a direct pointer to sibling tools like create_geometry_export for contextual flow.

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

Parameters3/5

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

Schema description coverage is high (86%), so the parameters are mostly self-explanatory from the schema. The description does not add additional parameter-level semantics beyond what the schema provides; it focuses on the output of the estimate rather than input parameter details. This meets the baseline for high schema coverage.

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

Purpose5/5

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

The description clearly states the tool's function: 'Dry-run estimate for a selected geometry export' and specifies the exact outputs (loc_id count, shape/vintage availability, bytes, delivery mode, citation requirements, charge units). It also differentiates from a 'canonical DaedalMap geometry release bundle', distinguishing this estimation tool from other geometry-related tools in the sibling list.

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

Usage Guidelines4/5

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

The description effectively implies when to use this tool: when a dry-run estimate is needed before a geometry export. It provides context by naming specific estimate dimensions and clarifying it is not a canonical release bundle, but it does not explicitly name alternative tools or state 'use this instead of X'. The guidance is clear though not fully explicit.

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

get_catalogGet CatalogA
Read-only
Inspect

Free discovery. Returns the list of live agent-ready data packs available on DaedalMap.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's focus on 'Returns the list' does not contradict that or add much beyond the annotation. The phrase 'live agent-ready data packs' adds context about what data is available, but does not disclose additional behavioral traits such as pagination, rate limits, or response structure.

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

Conciseness5/5

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

The description is a single, clear sentence that communicates purpose and key context ('Free discovery', 'live agent-ready data packs') without wasted words. It is appropriately sized for the tool's simplicity.

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

Completeness5/5

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

For a parameterless, read-only listing tool, the description adequately states what it returns and the domain (DaedalMap). There is no output schema, but the return type ('list') is stated. Combined with the sibling context, this is sufficient for an agent to select and invoke the tool correctly.

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

Parameters4/5

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

The tool has zero parameters, so the description does not need to explain parameter semantics. The schema already documents this fully (schema description coverage 100%), and the baseline for zero-parameter tools is 4.

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

Purpose5/5

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

The description uses a specific verb ('Returns') and resource ('list of live agent-ready data packs available on DaedalMap'), clearly distinguishing it from siblings like get_pack and query_dataset. The 'Free discovery' phrase clarifies it's a zero-cost listing operation.

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

Usage Guidelines3/5

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

The description implies use for discovering available data packs ('Free discovery'), but does not explicitly state when to use this tool versus alternatives like get_pack or query_dataset. It provides some contextual hint but lacks explicit when-to-use or when-not-to-use guidance.

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

get_geometryGet loc_id GeometryA
Read-only
Inspect

Shape retrieval for exact loc_ids, including loc_ids from any level of a resolve_point chain. Returns the requested geometry metadata, vintage, centroid, bounding box, and optional GeoJSON polygon. Historical geometry is returned first; an evidenced successor appears only as a separate question and is never substituted or fetched automatically. It does not explain hierarchy or crosswalks; use loc_id_info for those details. Prefer bbox/centroid unless exact rendering or clipping requires the polygon. No payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
loc_idNoDaedalMap loc_id, such as USA-CA-037, USA-Z-00601, USA-NWSFZ-AKZ317, EEZ-USA, or IHO1953-240001002.
loc_idsNoDaedalMap loc_ids to fetch in one call. Default public cap is deployment-configurable and lower when include_polygon is true.
batch_idNoOptional caller-supplied batch id for tracing.
request_idNoOptional caller-supplied request id for tracing.
include_polygonNoWhen true, include the full GeoJSON geometry. Default false.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations provide readOnlyHint:true, and the description adds significant behavioral detail beyond that: historical geometry is returned first, an evidenced successor is never substituted or fetched automatically, and no payment is required. This discloses behaviors an agent could not infer from annotations alone.

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

Conciseness5/5

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

The description is front-loaded with the core purpose and remains efficient. Every sentence adds value: scope, return contents, historical behavior, sibling routing, polygon guidance, and payment status. No word is wasted.

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

Completeness4/5

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

With no output schema, the description usefully lists the returned components and key behavior. It does not describe response envelope, error cases, or whether loc_id and loc_ids can be combined, but for a read-only geometry retrieval tool this is a minor gap given the schema already documents parameters.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds extra meaning by clarifying that loc_ids can come from any level of a resolve_point chain and by advising when to request the polygon versus bbox/centroid. This goes beyond what the schema properties state.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Shape retrieval for exact loc_ids,' and states exactly what is returned (metadata, vintage, centroid, bounding box, optional GeoJSON polygon). It also differentiates from siblings by noting that hierarchy and crosswalk details belong to loc_id_info.

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

Usage Guidelines5/5

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

The description gives explicit routing guidance: use loc_id_info for hierarchy/crosswalks, and prefer bbox/centroid unless exact rendering or clipping requires the polygon. This provides clear when-to-use and when-not-to-use context relative to alternatives.

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

get_job_statusGet Geometry Job StatusA
Read-only
Inspect

Retrieves a completed bounded v0 geometry export or conversion job by job_id. The current public contract creates completed inline jobs only; durable queued jobs and downloadable artifact links remain a future Custom Data Builder capability.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob id returned by create_geometry_export or create_conversion_job.
request_idNoOptional caller-supplied request id for tracing.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description adds useful behavioral context by specifying that only completed inline jobs are retrievable under the current public contract, while durable queued jobs and downloadable artifacts remain unsupported. This enriches the annotation without contradicting it.

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

Conciseness5/5

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

The description is two sentences: the first states the core action with precision, the second provides a clear contract limitation. No unnecessary words or redundancy.

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

Completeness4/5

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

For a simple read-only status tool with full schema coverage and a read-only annotation, the description is largely sufficient. It covers purpose and contract limitations, but the lack of an output schema means a brief note on return value would be useful, and the term 'bounded v0' is somewhat cryptic.

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

Parameters4/5

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

Schema coverage is 100%, setting a baseline of 3, but the description adds meaning by requiring job_id to be a completed 'bounded v0' job, which goes beyond the schema's simple origin reference and clarifies expected job state. request_id is already well-documented in the schema.

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

Purpose5/5

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

The description uses the specific verb 'Retrieves' and clearly identifies the resource as 'completed bounded v0 geometry export or conversion job' accessed 'by job_id'. This distinguishes it from sibling creation/estimation tools such as create_geometry_export and create_conversion_job.

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

Usage Guidelines4/5

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

The description implies usage for retrieving completed inline jobs and explicitly notes that durable queued jobs and artifact links are future capabilities, which sets expectations. The schema also references create_geometry_export and create_conversion_job as job_id origin points, but the description itself does not explicitly state when to use or avoid this tool relative to alternatives.

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

get_packGet PackA
Read-only
Inspect

Free discovery. Returns detailed metadata, coverage, freshness, preferred canonical tool guidance, and first-query examples for one pack. Call this before querying a new pack so you can see time shape, coverage limits, and the paste-ready first query.

ParametersJSON Schema
NameRequiredDescriptionDefault
pack_idYesPack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change.

TDQS

A4/5.0
Behavior3/5

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

The readOnlyHint annotation already covers the safety profile, and the description adds useful context about what will be returned (metadata, coverage, freshness, examples). It does not disclose any additional behavioral traits such as rate limits, authentication needs, or side effects, but none appear necessary for this read-only discovery tool.

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

Conciseness5/5

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

The description is compact, well-structured, and front-loaded with the core purpose ('Free discovery'). Each sentence contributes value: the first states what it returns, the second tells when and why to call it.

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

Completeness4/5

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

With a single parameter, full schema coverage, and a read-only annotation, the description provides enough context for correct invocation. It explains the output categories and the recommended usage scenario, though it stops short of detailing exact return fields or potential edge cases.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents pack_id sufficiently. The description adds context that the pack is identified from get_catalog, but does not meaningfully extend the parameter semantics beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the tool returns detailed metadata, coverage, freshness, canonical tool guidance, and first-query examples for one pack. It distinguishes itself from the sibling get_catalog by emphasizing 'one pack' and positioning itself as a pre-query discovery step.

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

Usage Guidelines4/5

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

The description gives explicit guidance to call this tool before querying a new pack, explaining the value (time shape, coverage limits, paste-ready first query). It does not explicitly mention alternatives or when not to use it, but the directive is clear and contextually sufficient.

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 HelpA
Read-only
Inspect

Free blind-caller guidance for one tool visible on this MCP facade. Returns when to use it, what it refuses, a working example, effective access limits, important outputs, provenance fields, recommended next calls, and the shared natural-language-to-strict-JSON interaction contract. Use tools/list to discover names, then call this before an unfamiliar tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_nameYesExact tool name from tools/list.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description reveals the tool returns refusals, access limits, provenance fields, and a shared interaction contract. This provides substantial insight into the tool's behavior and the nature of its responses.

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

Conciseness5/5

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

The description is two sentences with no filler. It front-loads the purpose, then lists specific output types and usage instructions, achieving maximum information density.

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

Completeness5/5

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

For a single-parameter tool with readOnlyHint and no output schema, the description covers purpose, usage context, input source, and the types of information returned. It is comprehensive and leaves no critical gaps.

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

Parameters3/5

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

The input schema already fully documents the sole parameter, tool_name, specifying it must be an exact name from tools/list. The description reinforces this workflow but adds no additional semantic detail beyond what the schema already covers.

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

Purpose5/5

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

The description clearly states the tool's purpose: providing guidance for using another tool on the MCP facade. It enumerates specific outputs (when to use, refusals, example, limits, etc.), making it distinct from sibling data-access tools.

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

Usage Guidelines4/5

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

The description provides explicit usage guidance: call this before working with an unfamiliar tool, and use tools/list to discover tool names. It lacks an explicit statement of when not to use it, but the context strongly implies it is only for unfamiliar tools.

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

how_geometry_worksHow Geometry MCP WorksA
Read-only
Inspect

Free starting guide for the DaedalMap geography/geometry MCP. Call this first to learn the durable loc_id, administrative-spine, reference-family, discovery, point-lookup, and bounded-shape concepts. Then read the live geometry catalog for country-specific depths, families, and query guidance, and use get_tool_help for one exact tool. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionNoOptional natural-language question about how to use the geometry tool family.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds helpful behavioral context: this is a free guide, it should be invoked first, and it explains automatic deeper administrative tiers where available. It does not describe the response format, but that is less critical for a help/guide tool. No contradiction with annotations.

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

Conciseness4/5

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

The description is well-structured and front-loaded with the key instruction to call this first. It then provides a logical flow to other tools and includes current catalog data. It is somewhat longer than strictly necessary, but the extra detail about country coverage and automatic depth behavior is relevant and earns its place.

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

Completeness4/5

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

For an onboarding/guide tool, the description covers the conceptual scope, the recommended sequence, and the current catalog breadth across countries and admin levels. It does not state what the response looks like or the exact phrasing of the optional question parameter, but given the tool's purpose and the fully documented schema, this is sufficient.

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

Parameters3/5

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

The input schema already provides 100% coverage of the single optional parameter with a clear description ('Optional natural-language question about how to use the geometry tool family'). The tool description does not add additional parameter-level guidance, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly identifies this as a starting guide, specifies the actionable directive to call it first, and enumerates the concepts it teaches (loc_id, administrative-spine, reference-family, discovery, point-lookup, bounded-shape). It explicitly differentiates itself from sibling tools like read_geometry_catalog and get_tool_help by describing their distinct roles.

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

Usage Guidelines5/5

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

It provides explicit workflow guidance: call this first to learn concepts, then read the live geometry catalog for country-specific guidance, and use get_tool_help for one exact tool. This directly tells the agent when to use this tool versus the alternatives, leaving no ambiguity.

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

identify_dataset_geographyIdentify Dataset GeographyA
Read-only
Inspect

Free dataset-orchestration utility. Accepts bounded samples from plausible scalar columns and determines which column contains geography, then identifies its maintained reference system, country, and administrative level. The caller performs only structural parsing and sampling; it must not assign geographic meaning in advance. Returns ranked bindings for identifier columns or coordinate pairs. No geometry is loaded and no full dataset is retained. No payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
columnsYesStructurally filtered columns with deterministic representative scalar values. Do not pre-label their geographic system.
request_idNo
country_scopeNoOptional caller-declared ISO3 hint. Omit when unknown.
dataset_contextNo

TDQS

A3.7/5.0
Behavior4/5

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

With readOnlyHint=true already covering the safety profile, the description adds genuinely useful behavioral context: no geometry is loaded, no full dataset is retained, and there is no payment requirement. These go beyond the annotation and set correct expectations for a stateless read operation.

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

Conciseness4/5

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

Front-loaded with the core function and well organized, but 'Free dataset-orchestration utility' and the trailing 'No payment required' are somewhat redundant, and the caller-constraint sentence is slightly wordy.

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

Completeness4/5

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

For a read-only tool with no output schema, the description does supply return semantics ('ranked bindings for identifier columns or coordinate pairs') and the free/stateless nature, which is most of what an agent needs. The remaining gap is the half of parameters (request_id, dataset_context) left undocumented, which the description does not compensate for.

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

Parameters3/5

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

Schema description coverage is 50%, so the baseline is 3. The description loosely characterizes the 'columns' input as bounded samples from plausible scalar columns, matching the maxItems constraint, but adds no syntax or format detail for request_id, country_scope, or dataset_context beyond what the schema already conveys.

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

Purpose4/5

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

The description states a specific verb and resource: it determines which column contains geography and identifies the reference system, country, and administrative level. It distinguishes the task from pure parsing ('caller performs only structural parsing and sampling'). It does not, however, explicitly contrast itself with the sibling identify_reference_system, so it falls short of full sibling differentiation.

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

Usage Guidelines3/5

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

Usage is implied: the tool is for datasets with plausible scalar columns where geographic meaning is not yet assigned, and 'it must not assign geographic meaning in advance' is a precondition. But there is no explicit when-not guidance and no named alternative despite close siblings like identify_reference_system and resolve_reference.

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

identify_reference_systemIdentify Geographic Reference SystemA
Read-only
Inspect

Free geography utility. Checks a bounded sample of identifiers plus optional dataset/column context against maintained reference indexes and geometry banks. LLM clients must extract identifier values from the user's natural-language request and pass them as strings; do not put the prose question in the arguments, and preserve leading zeros. Use it when a caller is unsure which system or level their keys belong to. It returns one to three interpretations with confidence and preserves ambiguity until the user confirms one by retrying with expected.system. A caller who already knows the system can provide expected on the first call and receive a verified geography_binding directly. It does not convert the full dataset or return polygons. No payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
expectedNo
identifierNoOne geography identifier to inspect.
request_idNoOptional caller-supplied request id for tracing.
identifiersNoA bounded representative identifier sample. Duplicate values are checked once. Values must be strings so leading zeros are preserved.
country_scopeNoOptional ISO3 country hint used to narrow candidate banks.
dataset_contextNoBounded, non-row dataset clues used to rank plausible interpretations without replacing exact identifier verification.
validation_scopeNoDescribes whether the supplied identifiers are a sample or the complete distinct-key set. The tool validates every supplied identifier.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only provide readOnlyHint=true, so the description carries the burden of behavioral disclosure. It adds critical non-obvious behaviors: identifiers must be strings, leading zeros must be preserved, prose questions must not be passed as arguments, results preserve ambiguity until confirmed, and the tool never converts full datasets or returns polygons. This is substantial, useful transparency beyond the annotation.

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

Conciseness4/5

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

The description is well-structured and front-loaded, covering function, input contract, usage trigger, output behavior, and limitations in logical order. Minor redundancy exists with 'Free geography utility' and 'No payment required,' but overall every major sentence adds value.

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

Completeness5/5

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

For a tool with no output schema, the description explains the return shape well: one to three interpretations with confidence, ambiguity preservation, and verified geography_binding when expected is supplied. It also covers input expectations, use cases, and exclusions, making it sufficiently complete for an agent to invoke the tool correctly.

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

Parameters4/5

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

Schema description coverage is 86%, so baseline is 3, but the description adds meaningful parameter behavior: extract identifier values from natural language, pass them as strings, preserve leading zeros, and use expected to receive a verified geography_binding. While dataset_context and country_scope are only mentioned generically, the schema already covers their details.

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

Purpose5/5

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

The description states a specific function: checking sample identifiers against reference indexes and geometry banks to identify which geographic system/level they belong to. It clearly communicates the resource, the action, and the output type, and distinguishes itself from conversion/geometry tools by explicitly saying it does not convert the full dataset or return polygons.

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

Usage Guidelines4/5

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

The description gives an explicit trigger: 'Use it when a caller is unsure which system or level their keys belong to.' It also explains the alternative workflow for callers who already know the system by passing expected to receive a verified geography_binding. It does not name sibling tools explicitly, but the usage context is clear enough for an agent to route correctly.

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

list_reference_systemsList Geographic Reference SystemsA
Read-only
Inspect

Free geography utility. Reads the canonical crosswalk registry and lists published, callable geographic reference systems, direct crosswalk artifacts, row counts, vintages, target levels, and source license metadata. Pass country_scope whenever the country is known. Call this first to learn whether ZIP/ZCTA, postal, census, electoral, watershed, health, tribal, marine, or other identifiers can be exchanged through loc_id. Public calls never expose WIP or relationship-only records. No payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
read_wipNoLocal loopback MCP only. Include staged or non-callable preprocessing records for operator review. Default false.
request_idNoOptional caller-supplied request id for tracing.
country_scopeNoOptional ISO3 country filter. Use this for a focused country capability answer.
include_crosswalksNoInclude actionable source-to-target crosswalk records. Default true.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, so the description adds meaningful behavioral context: it reads a canonical registry, never exposes WIP or relationship-only records on public calls, and requires no payment. These details go beyond the safety hint and help the agent anticipate response boundaries.

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

Conciseness4/5

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

The description is compact, front-loaded with the core listing purpose, and each sentence carries useful guidance. Minor redundancy exists between 'Free geography utility' and 'No payment required,' but the overall structure remains efficient and readable.

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

Completeness4/5

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

With no output schema, the description compensates by enumerating key return fields (row counts, vintages, target levels, source license metadata) and stating what is not exposed. It also gives clear first-step guidance. It could elaborate on pagination or response shape, but for a list/discovery tool with zero required parameters, it is sufficiently complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds practical guidance beyond the schema by saying 'Pass country_scope whenever the country is known' and clarifying that public calls never expose WIP. This gives the agent extra decision-making context for parameter use.

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

Purpose5/5

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

The description uses a specific verb ('lists') and a concrete resource ('published, callable geographic reference systems' from the 'canonical crosswalk registry'), and names the exact metadata fields returned. It also frames the tool as the discovery entry point for loc_id exchange capabilities, which separates it from sibling resolve/convert tools without needing to inspect their schemas.

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

Usage Guidelines4/5

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

The description explicitly tells the agent to 'Call this first' when learning whether identifiers can be exchanged, and instructs to 'Pass country_scope whenever the country is known.' It does not name alternative tools or state when not to use the tool, so it stops short of full exclusion guidance.

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

loc_id_infoGet loc_id / Chain DetailsA
Read-only
Inspect

The drill-down tool for loc_ids returned by resolve_point and other geography calls. Pass one loc_id, or pass the point result's stack loc_ids together, to retrieve metadata, strict stored parentage, shape status, vintage/lifecycle fields, and child counts. Historical records are returned as requested; when an evidenced successor exists, supersession separately asks whether the caller wants it and never substitutes or fetches it automatically. Set include_hierarchy for the strict same-release ancestor chain and include_references for external or side-chain crosswalks. This is where detailed chain explanation belongs; resolve_point intentionally stays compact. For exact polygons use get_geometry, and for overlap or successor analysis use compare_geographies. No payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
iso3NoOptional country hint for crosswalk artifacts. Defaults to the loc_id country when possible.
loc_idNoDaedalMap loc_id, e.g. 'USA-CA'.
loc_idsNoDaedalMap loc_ids to inspect together, including every loc_id from a resolve_point stack. Default public cap is deployment-configurable.
systemsNoOptional reference systems to include when include_references is true, such as zcta, nws_fire, overlay_tribal, or overlay_nws_public_zone.
batch_idNoOptional caller-supplied batch id for tracing.
min_shareNoOptional minimum target-area share for reverse overlap references.
request_idNoOptional caller-supplied request id for tracing.
limit_per_systemNoMaximum overlap references to return per bridge/system. Default 10.
include_hierarchyNoWhen true, include strict stored parent and ancestor data. This never invents a parent edge across mixed releases. Default false.
include_referencesNoWhen true, include known external or side-chain references attached to each loc_id. Default false.
target_admin_levelNoAdmin level for crosswalk-backed reverse reference lookup. Inferred when omitted.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only provide readOnlyHint=true, but the description enriches the behavioral picture considerably: supersession is never automatically substituted, historical records are only returned as requested, and parent edges are never invented across mixed releases. It also discloses the 'No payment required' policy, which is useful operational context beyond the annotation.

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

Conciseness5/5

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

The description is dense yet well-structured: it opens with the tool's role, then input modes, then output contents, then flag semantics, then sibling differentiation and alternatives. Every sentence contributes distinct information, and the text stays readable despite covering a complex 11-parameter tool.

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

Completeness5/5

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

Given 11 parameters and no output schema, the description covers the essential context: how to supply inputs, what the key flags do, what output categories to expect, and when to use sibling tools. The behavioral constraints around supersession and mixed releases are also included. Nothing critical for a correct first call appears to be missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds semantic depth beyond individual property docs. It explains the relationship between loc_id and loc_ids, clarifies that include_hierarchy returns the 'strict same-release ancestor chain', and ties include_references to external crosswalks. This helps an agent understand parameter intent, not just types.

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

Purpose5/5

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

The description uses a specific verb and resource: a 'drill-down tool for loc_ids' that retrieves metadata, parentage, shape status, vintage/lifecycle fields, and child counts. It further distinguishes itself from siblings by noting 'resolve_point intentionally stays compact' and naming get_geometry and compare_geographies as alternatives. The purpose is unambiguous and clearly differentiated.

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

Usage Guidelines5/5

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

It explicitly states when to use the tool: pass one loc_id or the stack loc_ids from resolve_point, and enables hierarchy/references via flags. It also gives clear exclusion guidance: 'For exact polygons use get_geometry, and for overlap or successor analysis use compare_geographies.' This leaves no ambiguity about when to select this tool versus alternatives.

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

read_geometry_catalogRead Geometry CatalogA
Read-only
Inspect

Free geography discovery. Reads the published DaedalMap geometry catalog projection by default, excluding staged and candidate work. Use view='capabilities' first for the global baseline and enhanced countries; use focused inventory views for families, banks, crosswalk products, and named objects. A local loopback MCP may set read_wip=true for internal review. No payment required. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoCatalog view to return. Use capabilities for the concise first-user coverage model. Default summary for compatibility.
limitNoMaximum named reference objects to return. Default 50.
read_wipNoLocal loopback MCP only. When true, reads the internal geometry catalog projection, including staged and in-progress records. Hosted/public MCP requests are denied. Default false.
request_idNoOptional caller-supplied request id for tracing.
country_scopeNoOptional ISO3 country code for view='capabilities'. Returns the selected country's baseline, active depth, families, and query guidance.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description reinforces a read-only profile. It adds meaningful behavior beyond the annotation: default excludes staged/candidate work, read_wip is only for local loopback MCP, and the catalog delivers deeper administrative tiers where country releases exist. No contradiction with annotations.

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

Conciseness3/5

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

The core operational guidance is front-loaded in the first three sentences, which is good. However, 'Free geography discovery.' and 'No payment required.' add little for tool invocation, and the 'Current catalog:' paragraph is lengthy informational context rather than concise operational guidance.

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

Completeness3/5

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

The description covers default scope, view selection, read_wip restrictions, and geographical availability. But with no output schema, it does not describe the return shape or pagination behavior, and it leaves sibling differentiation (notably vs. get_catalog) unaddressed, so the agent must infer some aspects from tool name and schema.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already documents all five parameters. The description goes a step further by advising view='capabilities' first and by explaining that read_wip=true is for local loopback MCP internal review only, which adds selection context over the raw enum and boolean definitions.

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

Purpose4/5

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

The description clearly identifies the resource and operation: 'Reads the published DaedalMap geometry catalog projection by default.' This distinguishes it from generic read operations, but it does not explicitly distinguish it from the sibling tool 'get_catalog', and the opening 'Free geography discovery' is vague marketing rather than useful purpose statement.

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

Usage Guidelines4/5

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

The description gives actionable internal guidance: 'Use view=\'capabilities\' first for the global baseline and enhanced countries; use focused inventory views for families, banks, crosswalk products, and named objects.' It also clarifies the default behavior and the local-loopback-only read_wip path. However, it does not explicitly contrast this tool with alternatives like get_catalog or state when not to use it.

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

resolve_loc_id_scopeResolve loc_id ScopeA
Read-only
Inspect

Strict hierarchy traversal. Given one stored parent loc_id and target admin level, returns descendants from that coherent parent chain. This is not the mixed-vintage latest-per-depth point resolver and must not bridge release seams. Use it before shape exports such as every county in a selected parent scope. No natural-language decoding is performed.

ParametersJSON Schema
NameRequiredDescriptionDefault
bboxNoOptional minLon,minLat,maxLon,maxLat filter.
limitNoMaximum rows to return inline. Counts are returned even when rows are truncated.
scopeNo
offsetNoOffset for preview paging.
count_onlyNoWhen true, return counts without loc_id rows.
request_idNoOptional caller-supplied request id for tracing.
admin_levelNoTarget level, such as admin_2, 2, county, or state.
parent_loc_idNoParent DaedalMap loc_id, such as USA or CAN-BC.

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description adds behavioral constraints: 'strict hierarchy traversal', 'coherent parent chain', and 'must not bridge release seams.' It also clarifies that 'No natural-language decoding is performed,' which is valuable context for callers. These details significantly enrich the safety and usage profile.

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

Conciseness5/5

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

Four sentences, each earning its place: function, non-goals, use case, and a behavioral caveat. No redundant or promotional language. The description is front-loaded with the core purpose and immediately gives actionable context.

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

Completeness4/5

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

The tool has nested scope objects and 8 parameters, but the schema already documents them well. The description explains the core use case and exclusion behavior. It could optionally mention output structure, but the schema's mention of 'rows', 'counts', and 'limit' covers that. Slightly more could be said about when the scope object is preferred, but overall sufficient.

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

Parameters4/5

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

Schema coverage is high (88%) with informative descriptions for parent_loc_id, admin_level, limit, count_only, etc. The description reinforces the key parameters by naming them ('parent loc_id and target admin level') and adds the no-NL note, which clarifies that admin_level expects structured values. This is a slight value-add over the schema.

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

Purpose5/5

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

The description states a specific verb and resource: 'returns descendants from that coherent parent chain' given a parent loc_id and target admin level. It distinguishes itself from the 'mixed-vintage latest-per-depth point resolver' (likely resolve_point), making its purpose unique among siblings.

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

Usage Guidelines5/5

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

Explicitly states when to use: 'Use it before shape exports such as every county in a selected parent scope.' Also states what it is not: 'not the mixed-vintage latest-per-depth point resolver' and 'must not bridge release seams.' This gives clear guidance on alternatives and placement in workflows.

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

resolve_pointResolve Point to loc_idA
Read-only
Inspect

Compact reverse geocoding. Converts one WGS84 point, or a bounded point list, into the latest-available administrative loc_id chain. Each chain row is intentionally small: loc_id, name, admin level, and vintage when available. This tool does not return polygons, hierarchy analysis, references, overlap percentages, lifecycle, provenance, or release-conversion detail. Pass the returned stack loc_ids to loc_id_info for details; use get_geometry for shapes and compare_geographies for relationships. Small exploratory calls may omit scope and resolve through the deepest served tier. Batches above the 25-point preview must declare exactly one country_scope and one target_admin_level; split multi-country input into one call per country. Cross-country admin-0/admin-1 batches may instead use bulk_preset. Anonymous callers pay above 25, while verified accounts receive included bulk throughput through 10,000 points. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNoLatitude in WGS84 decimal degrees.
lonNoLongitude in WGS84 decimal degrees.
pointsNoPoints to resolve. Up to 25 may be exploratory. Above 25, country_scope and target_admin_level are required. Anonymous callers receive a payment challenge; verified accounts have included throughput through 10,000 points.
batch_idNoOptional caller-supplied batch id echoed in the result.
request_idNoOptional caller-supplied request id for tracing.
bulk_presetNoCross-country fast path that fixes the result level to admin_0 or admin_1. Use instead of country_scope; target_admin_level may be omitted.
country_hintNoAlias for country_scope for clients that already use hint terminology.
country_scopeNoISO3/admin_0 loc_id scope such as USA or CAN. Optional for up to 100 exploratory points and required for larger batches; every point must belong to this one country.
target_admin_levelNoStopping level such as admin_0 through admin_5. Optional for up to 100 exploratory points and required for larger batches.

TDQS

A4.7/5.0
Behavior5/5

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

The description goes far beyond the readOnlyHint annotation: it lists deliberately excluded fields, documents throughput and payment behavior for anonymous vs verified callers, explains the 25-point preview threshold, and spells out the current catalog coverage. No contradiction with annotations.

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

Conciseness4/5

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

The description is long but front-loaded with purpose and behavior before operating constraints. The catalog/coverage paragraph is somewhat expansive, but it conveys useful expectations about geography depth, so it earns its place.

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

Completeness4/5

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

Despite no output schema, the description names the return chain fields and what is intentionally absent, and it gives enough constraints to call the tool correctly. The main gap is an internal inconsistency between the 25-point and 100-point exploratory thresholds, which the description does not resolve.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real semantic guidance: what happens when scope is omitted, the exact batch-size trigger for requiring country_scope and target_admin_level, and the bulk_preset alternative. It does not add much for batch_id/request_id, but those are already self-explanatory in the schema.

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

Purpose5/5

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

The opening line names a specific operation and resource: 'Converts one WGS84 point, or a bounded point list, into the latest-available administrative loc_id chain.' This is far more precise than the title and clearly separates resolve_point from the sibling catalog/help tools.

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

Usage Guidelines5/5

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

The description explicitly says what to do with the results ('Pass the returned stack loc_ids to loc_id_info for details; use get_geometry for shapes and compare_geographies for relationships') and when to prefer bulk_preset over country_scope. It also directs users to split multi-country input into one call per country.

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

resolve_referenceResolve Reference to loc_idA
Read-only
Inspect

Free geography utility. Converts one value, or a bounded list of values, from an external or adjacent geographic reference system into the DaedalMap loc_id universe. Examples: from_system='zip' value='00601'; from_system='nws_fire' value='AKZ317'; from_system='admin_boundary' value='Fairfax County'. Returns ranked loc_id matches with bridge vintage, overlap weights, and provenance where applicable. Historical references are returned as requested; an evidenced successor is a separate optional question and is never substituted automatically. No payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
iso3NoOptional country hint for system-specific crosswalks. Omit for a globally scoped identifier system.
as_ofNoISO date or year used to select a time-bounded identity assertion, especially for historical names and codes.
itemsNoReference values to resolve in one call. Default public cap is deployment-configurable.
limitNoMaximum ranked matches to return. Default 10.
valueNoIdentifier or name in the input system. Examples: 00601, USA-Z-00601, AKZ317, USA-NWSFZ-AKZ317, Fairfax County, Mediterranean Sea.
batch_idNoOptional caller-supplied batch id for tracing.
min_shareNoOptional minimum area-share threshold for overlap matches.
request_idNoOptional caller-supplied request id for tracing.
from_systemNoInput reference system, such as loc_id, census_geoid/us_census_geoid, admin_boundary, zip, zcta, overlay_zcta, nws_zone, nws_fire, overlay_nws_fire_weather_zone, tribal, water_body, marine_eez, nuts, historical_country/iso3166_3, or a catalog family id.
country_hintNoOptional country hint for admin/name resolution.
admin_level_hintNoOptional admin-level hint for admin/name resolution.
target_admin_levelNoAdmin target level for crosswalk-backed resolution. Default admin_2. Accepts admin_0..admin_5, 0..5, or names such as country, state, county, tract, block_group, or block.
relationship_vintageNoOptional relationship vintage to require, such as usa_geometry_current or census_2020_relationship_files.

TDQS

A3.5/5.0
Behavior4/5

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

readOnlyHint=true covers the safety profile, so the bar is lower. The description still adds real value: it discloses ranked matches with bridge vintage, overlap weights, and provenance, and — importantly — that historical references are returned as requested and an evidenced successor is never substituted automatically. That is meaningful behavioral context beyond the annotation.

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

Conciseness4/5

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

The text is dense but front-loaded with the core action and examples, and the historical-substitution rule is stated in one clear sentence. The 'Free geography utility' and 'No payment required' framing is slightly promotional and could be trimmed, keeping it from a 5.

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

Completeness4/5

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

For a read-only resolver with 13 params but 100% schema coverage, the description covers the purpose, behavior on historical references, and return shape. It does not mention pagination/cap behavior (the schema says the public cap is deployment-configurable) or handling of ambiguous matches, which is a minor gap.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are already documented in the schema, and the description doesn't add syntax or format details beyond what the schema provides. The examples of from_system and value values largely duplicate schema examples. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states a specific verb+resource (converts external/adjacent geographic references into the DaedalMap loc_id universe) and gives concrete examples across several systems, making the purpose obvious. It does not distinguish itself explicitly from close siblings like convert_reference or identify_reference_system, which limits it to a 4.

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

Usage Guidelines2/5

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

No explicit when-to-use guidance is given. A reader has to infer when to use resolve_reference rather than convert_reference or identify_reference_system, and there's no statement of tradeoffs or exclusions. The examples suggest scope but do not route the caller.

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.

  1. 2 tool updates
    • Addedidentify_dataset_geography
    • Changedresolve_reference1 field changed
      • changedInput schema / properties / iso3 / description
        Previous value: -"Country hint for system-specific crosswalks. Default USA."New value: +"Optional country hint for system-specific crosswalks. Omit for a globally scoped identifier system."
  2. 1 tool update
    • Changedidentify_reference_system2 fields changed
      • addedInput schema / properties / dataset_context
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Bounded, non-row dataset clues used to rank plausible interpretations without replacing exact identifier verification.",
        +  "properties": {
        +    "column_name": {
        +      "type": "string"
        +    },
        +    "column_names": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "maxItems": 1000,
        +      "type": "array"
        +    },
        +    "file_name": {
        +      "type": "string"
        +    },
        +    "local_format_match_rate": {
        +      "maximum": 1,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "row_geography": {
        +      "description": "Optional plain-language clue such as county, tract, or ZIP area.",
        +      "type": "string"
        +    },
        +    "sheet_name": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • changedInput schema / properties / expected / properties / system / description
        Previous value: -"Expected reference system, such as us_census_geoid, loc_id, zcta, or a catalog reference system."New value: +"Caller-declared reference system, such as us_census_geoid, loc_id, zcta, or a catalog reference system. Supply it immediately when known, or after choosing an identification result."
  3. 8 tool updates
    • Changedconvert_reference6 fields changed
      • removedInput schema / properties / bridge_vintage
        Removed value: -{
        -  "description": "Optional source bridge vintage to require.",
        -  "type": "string"
        -}
      • changedInput schema / properties / iso3 / description
        Previous value: -"Country hint for bridge artifacts. Default USA."New value: +"Country hint for crosswalk artifacts. Default USA."
      • removedInput schema / properties / items / items / properties / bridge_vintage
        Removed value: -{
        -  "description": "Optional bridge vintage for this row.",
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / properties / relationship_vintage
        Added value: +{
        +  "description": "Optional relationship vintage for this row.",
        +  "type": "string"
        +}
      • addedInput schema / properties / relationship_vintage
        Added value: +{
        +  "description": "Optional source relationship vintage to require.",
        +  "type": "string"
        +}
      • changedInput schema / properties / target_admin_level / description
        Previous value: -"Admin level used as the intermediate bridge target. Default admin_2."New value: +"Admin level used as the intermediate crosswalk target. Default admin_2."
    • Changedcreate_conversion_job4 fields changed
      • removedInput schema / properties / bridge_vintage
        Removed value: -{
        -  "type": "string"
        -}
      • removedInput schema / properties / items / items / properties / bridge_vintage
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / properties / relationship_vintage
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / relationship_vintage
        Added value: +{
        +  "type": "string"
        +}
    • Changedestimate_conversion_job4 fields changed
      • removedInput schema / properties / bridge_vintage
        Removed value: -{
        -  "type": "string"
        -}
      • removedInput schema / properties / items / items / properties / bridge_vintage
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / properties / relationship_vintage
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / relationship_vintage
        Added value: +{
        +  "type": "string"
        +}
    • Changedlist_reference_systems3 fields changed
      • addedInput schema / properties / country_scope
        Added value: +{
        +  "description": "Optional ISO3 country filter. Use this for a focused country capability answer.",
        +  "type": "string"
        +}
      • addedInput schema / properties / include_crosswalks
        Added value: +{
        +  "description": "Include actionable source-to-target crosswalk records. Default true.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / read_wip
        Added value: +{
        +  "description": "Local loopback MCP only. Include staged or non-callable preprocessing records for operator review. Default false.",
        +  "type": "boolean"
        +}
    • Changedloc_id_info2 fields changed
      • changedInput schema / properties / iso3 / description
        Previous value: -"Optional country hint for bridge artifacts. Defaults to the loc_id country when possible."New value: +"Optional country hint for crosswalk artifacts. Defaults to the loc_id country when possible."
      • changedInput schema / properties / target_admin_level / description
        Previous value: -"Admin level for bridge-backed reverse reference lookup. Inferred when omitted."New value: +"Admin level for crosswalk-backed reverse reference lookup. Inferred when omitted."
    • Changedread_geometry_catalog1 field changed
      • changedInput schema / properties / view / enum
        Previous value: -[
        -  "capabilities",
        -  "summary",
        -  "countries",
        -  "admin_coverage",
        -  "bridges",
        -  "products",
        -  "named_reference_objects",
        -  "full"
        -]New value: +[
        +  "capabilities",
        +  "summary",
        +  "countries",
        +  "admin_coverage",
        +  "crosswalk_artifacts",
        +  "crosswalks",
        +  "products",
        +  "named_reference_objects",
        +  "full"
        +]
    • Changedresolve_point2 fields changed
      • changedInput schema / properties / country_scope / description
        Previous value: -"ISO3/admin_0 loc_id scope such as USA or CAN. Optional for up to 25 exploratory points and required for larger batches; every point must belong to this one country."New value: +"ISO3/admin_0 loc_id scope such as USA or CAN. Optional for up to 100 exploratory points and required for larger batches; every point must belong to this one country."
      • changedInput schema / properties / target_admin_level / description
        Previous value: -"Stopping level such as admin_0 through admin_5. Optional for up to 25 exploratory points and required for larger batches."New value: +"Stopping level such as admin_0 through admin_5. Optional for up to 100 exploratory points and required for larger batches."
    • Changedresolve_reference6 fields changed
      • removedInput schema / properties / bridge_vintage
        Removed value: -{
        -  "description": "Optional bridge vintage to require, such as usa_geometry_current or census_2020_relationship_files.",
        -  "type": "string"
        -}
      • changedInput schema / properties / iso3 / description
        Previous value: -"Country hint for system-specific bridges. Default USA."New value: +"Country hint for system-specific crosswalks. Default USA."
      • removedInput schema / properties / items / items / properties / bridge_vintage
        Removed value: -{
        -  "description": "Optional bridge vintage for this row.",
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / properties / relationship_vintage
        Added value: +{
        +  "description": "Optional relationship vintage for this row.",
        +  "type": "string"
        +}
      • addedInput schema / properties / relationship_vintage
        Added value: +{
        +  "description": "Optional relationship vintage to require, such as usa_geometry_current or census_2020_relationship_files.",
        +  "type": "string"
        +}
      • changedInput schema / properties / target_admin_level / description
        Previous value: -"Admin target level for bridge-backed resolution. Default admin_2. Accepts admin_0..admin_5, 0..5, or names such as country, state, county, tract, block_group, or block."New value: +"Admin target level for crosswalk-backed resolution. Default admin_2. Accepts admin_0..admin_5, 0..5, or names such as country, state, county, tract, block_group, or block."
  4. 2 tool updates
    • Changedget_pack1 field changed
      • changedInput schema / properties / pack_id / description
        Previous value: -"Pack identifier such as 'currency', 'earthquakes', 'floods', 'hurricanes', 'tornadoes', 'tsunamis', 'un_sdg', 'volcanoes', 'world_factbook', or 'worldpop'."New value: +"Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change."
    • Changedread_geometry_catalog3 fields changed
      • addedInput schema / properties / country_scope
        Added value: +{
        +  "description": "Optional ISO3 country code for view='capabilities'. Returns the selected country's baseline, active depth, families, and query guidance.",
        +  "type": "string"
        +}
      • addedInput schema / properties / read_wip
        Added value: +{
        +  "description": "Local loopback MCP only. When true, reads the internal geometry catalog projection, including staged and in-progress records. Hosted/public MCP requests are denied. Default false.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / view / enum
        Previous value: -[
        -  "capabilities",
        -  "summary",
        -  "admin_coverage",
        -  "bridges",
        -  "products",
        -  "named_reference_objects",
        -  "full"
        -]New value: +[
        +  "capabilities",
        +  "summary",
        +  "countries",
        +  "admin_coverage",
        +  "bridges",
        +  "products",
        +  "named_reference_objects",
        +  "full"
        +]
  5. 1 tool update
    • Changedread_geometry_catalog2 fields changed
      • changedInput schema / properties / view / description
        Previous value: -"Catalog view to return. Default summary."New value: +"Catalog view to return. Use capabilities for the concise first-user coverage model. Default summary for compatibility."
      • changedInput schema / properties / view / enum
        Previous value: -[
        -  "summary",
        -  "admin_coverage",
        -  "bridges",
        -  "products",
        -  "named_reference_objects",
        -  "full"
        -]New value: +[
        +  "capabilities",
        +  "summary",
        +  "admin_coverage",
        +  "bridges",
        +  "products",
        +  "named_reference_objects",
        +  "full"
        +]
  6. 7 tool updates
    • Changedcreate_conversion_job14 fields changed
      • changedInput schema / additionalProperties
        Previous value: -trueNew value: +false
      • addedInput schema / anyOf
        Added value: +[
        +  {
        +    "required": [
        +      "from_system"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "geography_binding"
        +    ]
        +  }
        +]
      • addedInput schema / properties / bridge_vintage
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / geography_binding
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "country_scope": {
        +      "type": "string"
        +    },
        +    "geo_level": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "integer"
        +        }
        +      ]
        +    },
        +    "id_column": {
        +      "type": "string"
        +    },
        +    "mode": {
        +      "enum": [
        +        "reference",
        +        "loc_id"
        +      ],
        +      "type": "string"
        +    },
        +    "system": {
        +      "type": "string"
        +    },
        +    "vintage": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "system"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / iso3
        Added value: +{
        +  "type": "string"
        +}
      • changedInput schema / properties / items / description
        Previous value: -"Rows to convert; each row needs value and may include row_index."New value: +"Rows to convert; row-level fields may override top-level defaults."
      • addedInput schema / properties / items / items / additionalProperties
        Added value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "bridge_vintage": {
        +    "type": "string"
        +  },
        +  "data": {
        +    "additionalProperties": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "integer"
        +        },
        +        {
        +          "type": "boolean"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "description": "Original spreadsheet columns to preserve. Column names beginning daedalmap_ are reserved for generated output fields.",
        +    "maxProperties": 200,
        +    "type": "object"
        +  },
        +  "from_system": {
        +    "type": "string"
        +  },
        +  "id": {
        +    "anyOf": [
        +      {
        +        "type": "integer"
        +      },
        +      {
        +        "type": "string"
        +      }
        +    ]
        +  },
        +  "iso3": {
        +    "type": "string"
        +  },
        +  "limit": {
        +    "maximum": 100,
        +    "minimum": 1,
        +    "type": "integer"
        +  },
        +  "min_share": {
        +    "maximum": 1,
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  "row_index": {
        +    "anyOf": [
        +      {
        +        "type": "integer"
        +      },
        +      {
        +        "type": "string"
        +      }
        +    ]
        +  },
        +  "target_admin_level": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "integer"
        +      }
        +    ]
        +  },
        +  "to_system": {
        +    "type": "string"
        +  },
        +  "value": {
        +    "description": "Identifier value; keep as a string to preserve leading zeros.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "value"
        +]
      • addedInput schema / properties / limit
        Added value: +{
        +  "maximum": 100,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / min_share
        Added value: +{
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / output_format
        Added value: +{
        +  "enum": [
        +    "json_rows",
        +    "csv",
        +    "jsonl",
        +    "parquet"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / output_name
        Added value: +{
        +  "maxLength": 80,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "from_system",
        -  "items"
        -]New value: +[
        +  "items"
        +]
    • Changedcreate_geometry_export3 fields changed
      • addedInput schema / properties / format / enum
        Added value: +[
        +  "geojson",
        +  "geojson_gzip",
        +  "zip"
        +]
      • addedInput schema / properties / loc_ids / description
        Added value: +"Selected loc_ids. The default synchronous limit is 250; larger calls return a typed operational-limit response."
      • addedInput schema / properties / output_name
        Added value: +{
        +  "maxLength": 80,
        +  "type": "string"
        +}
    • Changedestimate_conversion_job13 fields changed
      • changedInput schema / additionalProperties
        Previous value: -trueNew value: +false
      • changedInput schema / anyOf
        Previous value: -[
        -  {
        -    "required": [
        -      "from_system",
        -      "items"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "from_system",
        -      "row_count"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "required": [
        +      "from_system",
        +      "items"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "from_system",
        +      "row_count"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "geography_binding",
        +      "items"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "geography_binding",
        +      "row_count"
        +    ]
        +  }
        +]
      • addedInput schema / properties / bridge_vintage
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / geography_binding
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Known dataset-geography declaration. The estimate verifies it against distinct identifiers and avoids point containment.",
        +  "properties": {
        +    "country_scope": {
        +      "type": "string"
        +    },
        +    "geo_level": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "integer"
        +        }
        +      ]
        +    },
        +    "id_column": {
        +      "description": "Identifier-column name for future artifact inputs; inline items continue to use value.",
        +      "type": "string"
        +    },
        +    "mode": {
        +      "enum": [
        +        "reference",
        +        "loc_id"
        +      ],
        +      "type": "string"
        +    },
        +    "system": {
        +      "description": "Declared identifier system. Used when from_system is omitted.",
        +      "type": "string"
        +    },
        +    "vintage": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "system"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / iso3
        Added value: +{
        +  "type": "string"
        +}
      • changedInput schema / properties / items / description
        Previous value: -"Sample or full rows with at least value; row-level systems may override top-level systems."New value: +"Sample or full rows; row-level fields may override top-level defaults."
      • addedInput schema / properties / items / items / additionalProperties
        Added value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "bridge_vintage": {
        +    "type": "string"
        +  },
        +  "data": {
        +    "additionalProperties": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "integer"
        +        },
        +        {
        +          "type": "boolean"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "description": "Original spreadsheet columns to preserve. Column names beginning daedalmap_ are reserved for generated output fields.",
        +    "maxProperties": 200,
        +    "type": "object"
        +  },
        +  "from_system": {
        +    "type": "string"
        +  },
        +  "id": {
        +    "anyOf": [
        +      {
        +        "type": "integer"
        +      },
        +      {
        +        "type": "string"
        +      }
        +    ]
        +  },
        +  "iso3": {
        +    "type": "string"
        +  },
        +  "limit": {
        +    "maximum": 100,
        +    "minimum": 1,
        +    "type": "integer"
        +  },
        +  "min_share": {
        +    "maximum": 1,
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  "row_index": {
        +    "anyOf": [
        +      {
        +        "type": "integer"
        +      },
        +      {
        +        "type": "string"
        +      }
        +    ]
        +  },
        +  "target_admin_level": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "integer"
        +      }
        +    ]
        +  },
        +  "to_system": {
        +    "type": "string"
        +  },
        +  "value": {
        +    "description": "Identifier value; keep as a string to preserve leading zeros.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "value"
        +]
      • addedInput schema / properties / limit
        Added value: +{
        +  "maximum": 100,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / min_share
        Added value: +{
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / output_format
        Added value: +{
        +  "description": "Enriched-row output format. CSV is spreadsheet-friendly; Parquet is compact and typed; JSON Lines is stream-friendly.",
        +  "enum": [
        +    "json_rows",
        +    "csv",
        +    "jsonl",
        +    "parquet"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / output_name
        Added value: +{
        +  "description": "Optional safe base filename.",
        +  "maxLength": 80,
        +  "type": "string"
        +}
    • Changedestimate_geometry_package3 fields changed
      • changedInput schema / properties / format / description
        Previous value: -"Requested delivery format: geojson, geojson_gzip, zip, geoparquet, flatgeobuf, or pmtiles."New value: +"Implemented delivery format. Unsupported format names are rejected rather than silently returning another representation."
      • addedInput schema / properties / format / enum
        Added value: +[
        +  "geojson",
        +  "geojson_gzip",
        +  "zip"
        +]
      • addedInput schema / properties / output_name
        Added value: +{
        +  "description": "Optional safe base filename for the export.",
        +  "maxLength": 80,
        +  "type": "string"
        +}
    • Addedhow_geometry_works
    • Addedidentify_reference_system
    • Changedresolve_reference1 field changed
      • changedInput schema / properties / from_system / description
        Previous value: -"Input reference system, such as loc_id, admin_boundary, zip, zcta, overlay_zcta, nws_zone, nws_fire, overlay_nws_fire_weather_zone, tribal, water_body, marine_eez, nuts, historical_country/iso3166_3, or a catalog family id."New value: +"Input reference system, such as loc_id, census_geoid/us_census_geoid, admin_boundary, zip, zcta, overlay_zcta, nws_zone, nws_fire, overlay_nws_fire_weather_zone, tribal, water_body, marine_eez, nuts, historical_country/iso3166_3, or a catalog family id."
  7. 1 tool update
    • Changedresolve_point4 fields changed
      • addedInput schema / properties / bulk_preset
        Added value: +{
        +  "description": "Cross-country fast path that fixes the result level to admin_0 or admin_1. Use instead of country_scope; target_admin_level may be omitted.",
        +  "enum": [
        +    "global_admin_0",
        +    "global_admin_1"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / country_scope / description
        Previous value: -"Optional ISO3/admin_0 loc_id scope such as USA or CAN. Use only when every point in the request should be resolved inside that one country; this lets the runtime skip global country detection and use one country geometry bank."New value: +"ISO3/admin_0 loc_id scope such as USA or CAN. Optional for up to 25 exploratory points and required for larger batches; every point must belong to this one country."
      • changedInput schema / properties / points / description
        Previous value: -"Points to resolve. Hosted default free preview is 25 points; larger valid batches return a payment-required quote instead of executing for free."New value: +"Points to resolve. Up to 25 may be exploratory. Above 25, country_scope and target_admin_level are required. Anonymous callers receive a payment challenge; verified accounts have included throughput through 10,000 points."
      • changedInput schema / properties / target_admin_level / description
        Previous value: -"Optional stopping level such as admin_0 through admin_5. Omit for the normal complete chain through the deepest currently served tier."New value: +"Stopping level such as admin_0 through admin_5. Optional for up to 25 exploratory points and required for larger batches."
  8. 1 tool update
    • Addedget_tool_help
  9. 6 tool updates
    • Addedcompare_geographies
    • Changedget_geometry1 field changed
      • removedInput schema / properties / include_info
        Removed value: -{
        -  "description": "When true for loc_ids batch mode, include heavier loc_id_info enrichment for each result. Default false for lean bulk geometry responses.",
        -  "type": "boolean"
        -}
    • Changedloc_id_info2 fields changed
      • changedInput schema / properties / include_hierarchy / description
        Previous value: -"When true, include parent and full ancestor chain. Default false."New value: +"When true, include strict stored parent and ancestor data. This never invents a parent edge across mixed releases. Default false."
      • changedInput schema / properties / loc_ids / description
        Previous value: -"DaedalMap loc_ids to inspect in one call. Default public cap is deployment-configurable."New value: +"DaedalMap loc_ids to inspect together, including every loc_id from a resolve_point stack. Default public cap is deployment-configurable."
    • Changedread_geometry_catalog2 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum named geometries to return when view='named_geometries'. Default 50."New value: +"Maximum named reference objects to return. Default 50."
      • changedInput schema / properties / view / enum
        Previous value: -[
        -  "summary",
        -  "admin_coverage",
        -  "bridges",
        -  "packages",
        -  "named_geometries",
        -  "full"
        -]New value: +[
        +  "summary",
        +  "admin_coverage",
        +  "bridges",
        +  "products",
        +  "named_reference_objects",
        +  "full"
        +]
    • Changedresolve_point2 fields changed
      • removedInput schema / properties / include_geometry
        Removed value: -{
        -  "description": "When true, include geometry in resolver internals where available. Default false to keep responses small.",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / target_admin_level / description
        Previous value: -"Requested administrative level such as admin_0, admin_1, admin_2, admin_3, admin_4, or admin_5. Default admin_2. Use deepest/all only when the caller explicitly needs the deepest supported local geometry."New value: +"Optional stopping level such as admin_0 through admin_5. Omit for the normal complete chain through the deepest currently served tier."
    • Changedresolve_reference3 fields changed
      • addedInput schema / properties / as_of
        Added value: +{
        +  "description": "ISO date or year used to select a time-bounded identity assertion, especially for historical names and codes.",
        +  "type": "string"
        +}
      • changedInput schema / properties / from_system / description
        Previous value: -"Input reference system, such as loc_id, admin_boundary, zip, zcta, overlay_zcta, nws_zone, nws_fire, overlay_nws_fire_weather_zone, tribal, water_body, marine_eez, nuts, or a catalog family id."New value: +"Input reference system, such as loc_id, admin_boundary, zip, zcta, overlay_zcta, nws_zone, nws_fire, overlay_nws_fire_weather_zone, tribal, water_body, marine_eez, nuts, historical_country/iso3166_3, or a catalog family id."
      • addedInput schema / properties / items / items / properties / as_of
        Added value: +{
        +  "description": "ISO date or year used to select a time-bounded identity assertion.",
        +  "type": "string"
        +}
  10. 2 tool updates
    • Changedget_geometry1 field changed
      • addedInput schema / properties / include_info
        Added value: +{
        +  "description": "When true for loc_ids batch mode, include heavier loc_id_info enrichment for each result. Default false for lean bulk geometry responses.",
        +  "type": "boolean"
        +}
    • Addedread_geometry_catalog
  11. 1 tool update
    • Changedresolve_point5 fields changed
      • removedInput schema / properties / country
        Removed value: -{
        -  "description": "Alias for parent_loc_id/country_scope when the scope is an ISO3 country code.",
        -  "type": "string"
        -}
      • changedInput schema / properties / country_hint / description
        Previous value: -"Alias for parent_loc_id/iso3. Use one country per paid/trusted bulk batch."New value: +"Alias for country_scope for clients that already use hint terminology."
      • changedInput schema / properties / country_scope / description
        Previous value: -"Alias for parent_loc_id when the scope is an admin_0/country loc_id."New value: +"Optional ISO3/admin_0 loc_id scope such as USA or CAN. Use only when every point in the request should be resolved inside that one country; this lets the runtime skip global country detection and use one country geometry bank."
      • removedInput schema / properties / iso3
        Removed value: -{
        -  "description": "Alias for parent_loc_id/country_scope when the scope is an ISO3 country code.",
        -  "type": "string"
        -}
      • removedInput schema / properties / parent_loc_id
        Removed value: -{
        -  "description": "Optional country scope such as USA, CAN, or IND. Required for paid/trusted bulk point batches over the free preview limit. Bulk should use one country and one target_admin_level per call.",
        -  "type": "string"
        -}
  12. 1 tool update
    • Changedresolve_point5 fields changed
      • addedInput schema / properties / country
        Added value: +{
        +  "description": "Alias for parent_loc_id/country_scope when the scope is an ISO3 country code.",
        +  "type": "string"
        +}
      • addedInput schema / properties / country_hint
        Added value: +{
        +  "description": "Alias for parent_loc_id/iso3. Use one country per paid/trusted bulk batch.",
        +  "type": "string"
        +}
      • addedInput schema / properties / country_scope
        Added value: +{
        +  "description": "Alias for parent_loc_id when the scope is an admin_0/country loc_id.",
        +  "type": "string"
        +}
      • addedInput schema / properties / iso3
        Added value: +{
        +  "description": "Alias for parent_loc_id/country_scope when the scope is an ISO3 country code.",
        +  "type": "string"
        +}
      • addedInput schema / properties / parent_loc_id
        Added value: +{
        +  "description": "Optional country scope such as USA, CAN, or IND. Required for paid/trusted bulk point batches over the free preview limit. Bulk should use one country and one target_admin_level per call.",
        +  "type": "string"
        +}
  13. 1 tool update
    • Changedresolve_point2 fields changed
      • changedInput schema / properties / points / description
        Previous value: -"Points to resolve. Hosted default maximum is 25 points per call."New value: +"Points to resolve. Hosted default free preview is 25 points; larger valid batches return a payment-required quote instead of executing for free."
      • addedInput schema / properties / target_admin_level
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "integer"
        +    }
        +  ],
        +  "description": "Requested administrative level such as admin_0, admin_1, admin_2, admin_3, admin_4, or admin_5. Default admin_2. Use deepest/all only when the caller explicitly needs the deepest supported local geometry."
        +}

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.