Skip to main content
Glama

place_geocode

Read-onlyIdempotent

Convert an address, place name, or landmark into coordinates. Enable fuzzy mode for misspelled or partial input, and optionally restrict results by country codes.

Instructions

Find the coordinates of an address, place name or landmark.

Uses OpenStreetMap: Nominatim for exact structured lookups, or Photon when fuzzy=true for misspelled or partial input (Nominatim's usage policy forbids autocomplete-style queries, so route those here).

To go the other way -- coordinates to an address -- use place_reverse. To find categories of thing nearby (fuel, hospitals, hotels) rather than one named place, use place_search.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fuzzyNoUse the typo-tolerant Photon backend instead of Nominatim. Set this for partial, misspelled or as-you-type input.
limitNoMaximum matches to return.
queryYesAn address, place name or landmark.
country_codesNoComma-separated ISO 3166-1 alpha-2 codes to restrict results, e.g. 'gb,ie'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaYes
queryYes
matchesYes
providerYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the bar is lower. The description adds valuable context about the backend (Nominatim vs Photon) and why the fuzzy path exists, going beyond what annotations convey. It does not contradict any annotations.

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 short paragraphs, each earning its place: the first states the core purpose, the second explains backend routing and policy, and the third directs to sibling tools. It is front-loaded and free of fluff.

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 moderate complexity (4 params, output schema present, annotations covering safety), the description fully covers what an agent needs: the exact input kind, the fuzzy distinction, the policy constraint, and clear alternatives. No missing operational details.

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 the baseline is 3. The description's mention of the fuzzy parameter largely repeats what the schema already says ('Set this for partial, misspelled or as-you-type input'), and it does not add extra meaning to limit, country_codes, or query beyond their schema descriptions.

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 clear, specific statement of what the tool does: 'Find the coordinates of an address, place name or landmark.' It explicitly distinguishes itself from place_reverse (reverse geocoding) and place_search (categorical search), leaving no ambiguity about its scope.

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 when-to-use guidance, including when to set fuzzy=true for misspelled/partial input and routes to place_reverse and place_search for other use cases. It also mentions Nominatim's policy restriction, which directly informs tool selection.

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