Skip to main content
Glama

Geocode addresses

geocode_addresses
Idempotent

Turn street addresses into latitude/longitude using Vepathos Smart Import. Requires a depot lat/lng or a city. Each stop includes matched_address (what the gazetteer matched) — use it to catch bad pins. Charges Smart Import quota, not route stops. When needs_confirmation is true, tell the user which ids are missing or uncertain before optimizing. Do not invent coordinates. Returns pins, or a geocode_id for get_geocode_result. It carries ADDRESSES AND NOTHING ELSE: a customer, phone, package count, weight, volume, note or delivery window sent here is dropped without a word. Rows carrying any of those are a delivery list, however few, and go to import_deliveries, which keeps them and geocodes them itself. Use this one for bare addresses: checking a handful, or placing a depot.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity used to pick the map region when depot is omitted.
depotNoDepot coordinates. Helps pick the map region. Required if city is omitted.
countryNoCountry or ISO code the addresses are in.
timezoneNoIANA time zone, e.g. America/Argentina/Buenos_Aires.
addressesYesStops to geocode (1-500). Uses the account Smart Import quota, not route stops.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoStructured error when the tool call failed.
stopsNoPer-stop pins when status is completed (includes matched_address).
statusNoqueued / running / completed / failed.
progressNoPresent while the geocode job is running.
geocode_idNoHandle for get_geocode_result, while the job is still running. A finished job returns its stops here instead and no handle: there is nothing left to poll.
resolved_stopsNoStops that received a latitude and longitude.
review_stop_idsNoPins to confirm (band=review or confidence below 0.8). Ask before routing them.
submitted_stopsNoAddresses sent to Smart Import.
needs_confirmationNoTrue when any stop is unresolved or in review. Wait for the user before optimize.
poll_after_secondsNoCall get_geocode_result again after about this many seconds.
unresolved_stop_idsNoStops with no pin. Do not invent coordinates. Ask before optimizing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

The description adds significant behavioral context beyond the annotations. The annotations already indicate idempotentHint=true, but the description explains that the tool carries only addresses and silently drops any additional data, which is a critical behavioral trait not captured by annotations. It also discloses quota consumption ('Charges Smart Import quota, not route stops') and the return behavior (returns pins or geocode_id for get_geocode_result). However, it does not explicitly mention error handling or edge cases like invalid addresses, and it relies on annotations for idempotency, so a score of 4 is justified—strong but not perfect.

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 relatively long but each sentence serves a purpose: it states the core function, requirements, output behavior, quota implications, constraints on data, and routing to siblings. It is front-loaded with the primary function and critical usage note. While it could be tightened slightly, the length is justified by the need to convey the strict data limitation and alternative routing, making it efficient for an agent to parse. A score of 4 is warranted given the density of information without redundancy.

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 the tool's complexity (5 parameters, nested objects, output schema), the description is remarkably complete. It explains the mutual exclusivity of depot and city, the return mechanism (pins or geocode_id for async retrieval), the matched_address for quality check, the need to handle needs_confirmation, and the strict data policy. The output schema exists, so return values are covered. There's no missing information an agent would need to call it correctly, making a score of 5 justified.

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 schema coverage is 100%, with every parameter having a description in the schema. The tool's description adds value by contextualizing the depot and city parameters: 'Requires a depot lat/lng or a city' clarifies the mutual dependency between these fields, which is not obvious from the schema alone. It also explains that each stop includes matched_address, which relates to the output, not directly to parameters. Since the description adds meaningful context beyond the schema (like the requirement to provide either depot or city), a score of 4 is appropriate, exceeding the baseline of 3.

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: 'Turn street addresses into latitude/longitude using Vepathos Smart Import.' It specifies the resource (addresses), the action (geocoding), and the key outcome (returns pins or geocode_id). It also distinguishes itself from its sibling import_deliveries by stating that this tool only handles bare addresses and drops any additional delivery data, making the purpose and scope unambiguous. The description is specific and not a tautology.

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 provides explicit guidance on when to use this tool versus its sibling import_deliveries: 'Rows carrying any of those are a delivery list, however few, and go to import_deliveries, which keeps them and geocodes them itself. Use this one for bare addresses: checking a handful, or placing a depot.' It also gives clear exclusions: 'a customer, phone, package count, weight, volume, note or delivery window sent here is dropped without a word.' This is a textbook example of when-not to use and provides a direct alternative, which is essential for agent selection.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources