Faceabot Geocoding
Server Details
Address to coordinates and back, postal codes, worldwide (OpenStreetMap). Free, no key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools are inverse operations: geocode_address takes text to coordinates, reverse_geocode takes coordinates to text. The 'Use when' guidance and input examples make the direction of each unambiguous.
Both names use snake_case and share the 'geocode' root, forming a readable forward/reverse pair. The minor asymmetry (geocode_address vs reverse_geocode, one with a noun suffix) is a small deviation from a strict verb_noun pattern.
Two tools is thin by generic standards, but it is exactly the surface a focused geocoding service needs, and each tool clearly earns its place. No filler or redundant endpoints.
Forward and reverse geocoding together fully cover the stated domain lifecycle for an agent. Minor gaps remain, such as batch lookups or structured address-component input, but agents can work around these with repeated calls.
Available Tools
2 toolsgeocode_addressAddress or place name to coordinatesARead-onlyIdempotentInspect
Turns an address, a place name or a city into coordinates (latitude, longitude) with its full address, type and country. Worldwide, any language. Use when: you need coordinates for a map, a distance, weather or places_near. Example: {"query":"Grand-Place, Brussels"}
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | en | |
| limit | No | ||
| query | Yes | Address, landmark or place name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context beyond that: worldwide coverage, any-language input, and the shape of the result set. It omits ambiguity handling, which matters for a geocoder that can return multiple candidates.
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 short lines, front-loaded with the transformation, then the decision cue, then a copy-pasteable example. No sentence is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields, and the annotations carry the risk profile, so an agent has what it needs to call the tool. The remaining gap is the undocumented `lang` and `limit` parameters, which leaves callers guessing on result count and language handling.
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 only 33%, so the schema documents `query` alone and leaves `lang` and `limit` bare. The description reinforces `query` semantics ('any language', the Grand-Place example) but says nothing about what `lang` controls or that `limit` caps candidate results, leaving two of three parameters unexplained in both schema and prose.
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 uses a precise verb+resource pairing ('Turns an address, a place name or a city into coordinates') and enumerates the returned fields (latitude, longitude, full address, type, country). The forward geocoding direction makes it plainly distinct from reverse_geocode, so an agent can choose between them without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
An explicit 'Use when' clause lists concrete downstream needs (map, distance, weather, places_near) and a worked example anchors the input format. It stops short of naming reverse_geocode as the when-not alternative, so the exclusion criterion is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_geocodeCoordinates to addressARead-onlyIdempotentInspect
Turns a latitude/longitude into the nearest address (street, postcode, city, country). Use when: you have GPS coordinates and need a readable address. Example: {"lat":48.8584,"lon":2.2945}
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes | ||
| lang | No | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds that it returns the nearest address components, but does not cover accuracy, failure behavior, rate limits, or language handling.
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 short sentences, front-loaded with purpose, then usage guidance, then a concrete example. There is no wasted text.
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 simple read-only geocoding tool, the description is nearly complete: it explains the transformation and names the returned address fields. The main gap is the unmentioned lang parameter, and there is no output schema to rely on for exact return-value detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It identifies lat/lon through the latitude/longitude wording and example, but omits the optional lang parameter entirely and adds little semantic detail beyond the schema's own types and examples.
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: turning latitude/longitude into the nearest address, with the output fields listed. It clearly implies the opposite direction from the sibling geocode_address, though it does not name that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear use condition: when you have GPS coordinates and need a readable address. It does not state when not to use it or explicitly point to geocode_address for the reverse operation.
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.
2 tool updates
- First observed
geocode_address - First observed
reverse_geocode
Related MCP Connectors
Geocode addresses, autocomplete searches and reverse geocode coordinates on open data. Free tier.
Places near any address: restaurants, pharmacies, hotels and more (OpenStreetMap). Free, no key.
Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.
Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.
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
- AlicenseAqualityCmaintenanceProvides global geocoding capabilities to convert city names and addresses into latitude/longitude coordinates using the free OpenStreetMap Nominatim API.16MIT
- AlicenseNot gradedqualityBmaintenanceEnables geocoding and reverse geocoding from OpenStreetMap data using the free Nominatim API.9 npmMIT
- AlicenseNot gradedqualityAmaintenanceGeocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data via MCP.302 npm8Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.