OpenGeocoding
Server Details
Geocode addresses, autocomplete searches and reverse geocode coordinates on open data. Free tier.
- Status
- Healthy
- Uptime
- 30.4% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
The tools mostly serve distinct roles in a geocoding workflow: autocomplete for partial input, retrieve for a selected suggestion, search for full free-text lookup, reverse for coordinates-to-address, regions for listing regions, and resolve_region for coordinates-to-regions. The only mild overlap is between autocomplete/search/retrieve, but the descriptions make their different inputs and outputs reasonably clear.
Mostly readable lowercase/snake_case names, but the conventions are mixed: several bare verbs (autocomplete, retrieve, reverse, search), one verb_noun name (resolve_region), and one plural noun (regions). A more consistent pattern such as list_regions plus verb_noun forms would improve predictability.
Six tools is well-scoped for a geocoding API: autocomplete/retrieve, search, reverse, and region listing/resolution cover the main workflows without excessive surface area. Each tool has a clear purpose and earns its place.
The surface covers the core geocoding lifecycle: partial-address completion, suggestion resolution, full search, reverse geocoding, and administrative region listing/resolution. No obvious dead ends for the stated purpose; batch operations are absent but not implied by the tool set.
Available Tools
6 toolsautocompleteARead-onlyIdempotentInspect
Complete an address or place while the last word is still unfinished. Free of credit charges, authenticated and rate-limited, including with zero credits. Returns labels and opaque IDs without coordinates or bounding boxes. Call /v1/retrieve with a selected ID to get its location for one credit. Filter by country, bias toward a position, or include notable landmarks linked to Wikidata. This call consumes no credits but shares the account rate limit.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Address or place prefix. The last word may be unfinished. Trimmed; cannot be blank. | |
| focus | No | ||
| limit | No | Maximum suggestions. Omitted or 0 uses the default of 5. | |
| countryCode | No | Optional ISO 3166-1 alpha-2 country filter, for example dk. | |
| includeLandmarks | No | Include notable OSM landmarks linked to Wikidata. Coverage is uneven; this is not a general business directory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial context beyond the annotations: it is free of credit charges, authenticated, rate-limited even with zero credits, returns only labels and opaque IDs, and does not return coordinates or bounding boxes. It also clarifies that a follow-up /v1/retrieve call costs one credit. These details materially help an agent understand cost, authentication, output shape, and rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and remains readable. It is slightly repetitive about credit usage and rate limits across separate sentences, but the repetition does not obscure the key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an autocomplete tool with rich annotations, high schema coverage, and no output schema, the description covers the important missing context: return shape, credit cost, authentication, rate limits, and the follow-up retrieval workflow. An agent has enough information 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high at 80%, so the schema already documents most parameter meaning. The description reinforces country filtering, position bias, and landmark inclusion, but it does not add notable semantics beyond the schema, such as explaining the limit parameter or focus.scaleKm behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: completing an address or place prefix while the last word is unfinished. It also distinguishes the tool from the retrieval step by explaining that the returned IDs must be passed to /v1/retrieve for coordinates. This makes the tool's role clear without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly explains the primary use case and names /v1/retrieve as the follow-up tool for getting location details. It also mentions filtering by country, biasing by position, and including landmarks. However, it does not explicitly compare against other siblings such as search or reverse, so it stops short of complete when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regionsARead-onlyIdempotentInspect
Return every country and ISO 3166-2 administrative region known to the index. Free of credit charges, authenticated and rate-limited, including with zero credits. Send an empty JSON object as the request body. This call consumes no credits but shares the account rate limit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real context beyond the annotations: no credit consumption, authentication required even at zero credits, and the call still shares the account rate limit. It does not describe response size, ordering, or pagination, which matters for an unbounded list of countries and subdivisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose, then the cost/auth constraints. Slight redundancy between 'Free of credit charges' and 'This call consumes no credits'—the same fact is stated twice, costing a sentence that does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the operational facts an agent needs to call it successfully: body format, authentication requirement, credit cost, and rate-limit sharing. With no output schema, it could still say something about the shape or size of the returned list, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters puts the baseline at 4, and the description correctly reinforces the schema's null shape by instructing the caller to send an empty JSON object, which is necessary given additionalProperties=false. No further parameter meaning exists to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return every country and ISO 3166-2 administrative region known to the index'), which is clearly distinguishable from the singular-sounding sibling resolve_region. It stops short of naming siblings explicitly, so differentiation is implied 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is inferable from 'every ... region' (use this for the full catalogue rather than a single lookup), but the description never says when to prefer it over resolve_region or autocomplete. No exclusions or prerequisites are given beyond the empty-body instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_regionARead-onlyIdempotentInspect
Resolve ISO 3166-2 administrative regions for coordinates. The response uses the same region entries as List regions. A successful call consumes one account credit.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in degrees, from -90 to 90. Omission uses the protobuf default of 0. | |
| lon | No | Longitude in degrees, from -180 to 180. Omission uses the protobuf default of 0. | |
| boundingBox | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description's added value is the cost disclosure: 'A successful call consumes one account credit,' which also implies failed calls are free. It also tells the agent the response is shaped like the 'regions' listing entries, a useful behavioral detail not in any structured field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose first, response shape second, cost third. Nothing is redundant and 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly points to the 'regions' entries for the return shape rather than leaving it undefined, and it discloses cost. It falls slightly short on the nested boundingBox case, which is the only structurally complex part of the input and goes unmentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the description says nothing about lat, lon, or boundingBox, so the schema carries the parameter burden. It never clarifies the relationship between the point parameters and the bounding-box object (precedence, mutual exclusivity, or what happens when all are omitted), which is the one semantic gap the schema does not close.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Resolve ISO 3166-2 administrative regions for coordinates,' which tells an agent exactly what it gets. It implicitly separates itself from the 'regions' sibling by referencing 'List regions' as the source of the entry shape, but it never distinguishes itself from 'reverse', which likely also accepts coordinates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the phrase 'for coordinates' – there is no explicit statement of when to call this versus 'reverse' or 'regions'. No exclusions or prerequisites are given, leaving the agent to infer that this is the point-to-region lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveARead-onlyIdempotentInspect
Retrieve the exact suggestion selected from autocomplete. A successful response costs one credit. IDs are opaque and tied to an index snapshot; a stale or unknown ID returns 404. Request suggestions again after an index update. Unverified floor or unit suffixes are not part of the retrieved building. A successful call consumes one account credit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Opaque ID returned by autocomplete. Do not parse or construct it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, openWorld), the description discloses the credit cost of a successful call, the 404 behavior for stale/unknown IDs, ID-to-index-snapshot coupling, and a data caveat about unverified floor/unit suffixes. These are exactly the non-obvious runtime traits annotations cannot express, and they do not contradict readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The credit cost is stated twice in nearly identical words ('costs one credit' / 'consumes one account credit'), and the index-update advice is split from the staleness statement. Front-loading is reasonable but a sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool this covers prerequisites, cost, error behavior, and a data caveat. The remaining gap is that with no output schema the description never says what fields the retrieved record returns, leaving only the passing mention of 'the retrieved building'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is already documented as opaque, so the baseline is 3. The description earns one more point by explaining the ID's lifetime semantics — tied to an index snapshot, invalidated by index updates, 404 on staleness — which the schema does not say.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (fetch the full record for the autocomplete suggestion the user picked) and ties it to the autocomplete sibling, which is referenced again in the index-snapshot note. The object returned is only obliquely implied by 'the retrieved building', so it stays short of a fully crisp verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The workflow prerequisite is clear — an ID comes from autocomplete and must be re-requested after an index update — and the failure condition (stale or unknown ID returns 404) is given. There is no explicit 'when not to use this / use search or reverse instead' exclusion against the other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverseARead-onlyIdempotentInspect
Look up the nearest addresses from coordinates. If no house is in range, results may fall back to a street, then a nearby locality. Results are ordered nearest first. A successful call consumes one account credit.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in degrees, from -90 to 90. Omission uses 0. | |
| lon | No | Longitude in degrees, from -180 to 180. Omission uses 0. | |
| size | No | Maximum results. Omitted or 0 uses 1. | |
| radiusM | No | Search radius in metres. Omitted or 0 uses 500. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the description adds the genuinely useful context: ordered results, tiered fallback, and the fact that a successful call consumes one account credit. It says nothing about failure handling or rate limits, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, with the core action front-loaded and each following sentence adding new information: fallback behavior, ordering, and cost. There is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a four-parameter read-only geocoding tool: it covers what the tool does, how results degrade, result ordering, and the credit cost. Given that there is no output schema, it could say slightly more about the response shape, such as address fields or confidence, but nothing a caller critically needs is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so lat, lon, size, and radiusM are fully documented, including defaults, ranges, and omission semantics. The description adds no parameter-level detail beyond 'coordinates', so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ("look up") and resource ("nearest addresses from coordinates"), which clearly identifies the tool's function as reverse geocoding. This makes it distinguishable from siblings such as search and autocomplete by its input domain (coordinates rather than text), although the description does not mention those siblings by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool should be used when you have coordinates and want addresses, but it never explicitly states when to use it instead of search, autocomplete, or retrieve. The fallback description about streets and localities describes result behavior, not tool selection, so the agent must infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchARead-onlyIdempotentInspect
Find coordinates and structured address components from a free-text address or place. A partial match may return goodMatch: false (or omit it). An empty object means nothing was found. A successful call consumes one account credit.
| Name | Required | Description | Default |
|---|---|---|---|
| addressString | Yes | Free-text address or place. Trimmed before searching; cannot be blank. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so safety is covered. The description then adds genuinely non-obvious traits: partial matches may return goodMatch: false or omit it, an empty object means nothing was found, and a successful call consumes one account credit. Those are exactly the operational details annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the core purpose, followed by result-state semantics and cost. Every sentence carries distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers what is returned (coordinates and structured address components), how ambiguous results are signaled (goodMatch), what an empty result looks like, and the credit cost. Nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage, including trimming and non-blank constraints, so the baseline is 3. The description repeats that the input is free-text but adds nothing beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-and-resource pair: find coordinates and structured address components from a free-text address or place. That makes the geocoding intent clear despite the generic tool name 'search'. It stops short of naming the sibling it is not (e.g., reverse or autocomplete), so sibling differentiation must be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'From a free-text address or place' implies forward geocoding and thus implicitly contrasts with reverse, but no alternative is named and no when/when-not guidance is given. An agent has to infer whether to use 'search' or 'autocomplete' on its own.
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.
6 tool updates
- First observed
autocomplete - First observed
regions - First observed
resolve_region - First observed
retrieve - First observed
reverse - First observed
search
Related MCP Connectors
Address to coordinates and back, postal codes, worldwide (OpenStreetMap). Free, no key.
Geocoding, static maps and privacy-safe area maps from OpenStreetMap data. Hard caps, no overage.
Geocode, reverse-geocode, autocomplete, route and search places.
Hosted libpostal: messy free-text postal addresses → structured fields. No 2-4GB self-host.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides forward/reverse geocoding, bounding box extraction, nearby places discovery, batch geocoding, route waypoints, and administrative boundary lookup using OpenStreetMap data.10Apache 2.0
- AlicenseAqualityDmaintenanceGeospatial API tools for AI agents — geocoding, reverse geocoding, routing, isochrone, distance matrix, static maps, H3 hexagons, elevation, GPS map-matching, point-in-polygon, address normalisation, timezone lookup, and batch geocoding. Built on OpenStreetMap infrastructure. Cost-effective alternative to Google Maps API.1839 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables forward and reverse geocoding of US addresses, returning coordinates and the full Census geography stack with GEOIDs, including batch geocoding of up to 100 addresses.305 npmMIT
- AlicenseAqualityDmaintenanceGlobal postal code lookups, validation, and city search for 240+ countries with timezone, admin region, and elevation metadata. Sub-10ms responses at $0.000028/query with 1,000 free queries on signup.41MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.