Geoapify MCP by usefulapi
Server Details
Geocode, reverse-geocode, autocomplete, route and search places.
- Status
- Healthy
- Uptime
- 49.2% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 8 tools
Each tool targets a distinct operation: forward geocoding, reverse geocoding, autocomplete, IP lookup, isoline, place search, place details, and routing. The only mild overlap is between geoapify_geocode_search and geoapify_geocode_autocomplete, but their descriptions clearly differentiate as-you-type suggestions from definitive lookups. geoapify_places vs geoapify_place_details are also well separated.
All tools share the geoapify_ prefix and use snake_case, giving a predictable pattern. Minor deviation: some names are domain+action (geocode_search, place_details) while others are bare nouns (isoline, routing, places), so the verb is not always explicit, but the set reads consistently.
Eight tools is well-scoped for a geocoding/places/routing API, with each tool earning its place by covering a distinct Geoapify endpoint. No redundant or filler tools.
The surface covers the core lifecycle: forward/reverse/autocomplete geocoding, place search plus details, routing, isolines, and IP geolocation. Minor gaps like batch geocoding or matrix routing exist but agents can work around them by iterating single calls.
Available Tools
8 toolsgeoapify_geocode_autocompleteAddress autocompleteARead-onlyInspect
Address autocomplete — suggest completed addresses/places for a partial query, ideal for as-you-type inputs. Geoapify REST: GET /v1/geocode/autocomplete.
| Name | Required | Description | Default |
|---|---|---|---|
| bias | No | Bias results toward a location, e.g. 'proximity:13.4,52.5'. | |
| lang | No | Result language as an ISO 639-1 code, e.g. 'en', 'de', 'fr'. | |
| text | Yes | The partial address or place text to complete (required). | |
| type | No | Restrict to a location type, e.g. 'city', 'street', 'amenity', 'postcode'. | |
| limit | No | Max number of results to return. | |
| filter | No | Spatial filter, e.g. 'countrycode:de' or 'rect:lon1,lat1,lon2,lat2'. | |
| format | No | Response format — 'json' (default) or 'geojson'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe, non-mutating read. The description adds only the upstream REST route (GET /v1/geocode/autocomplete), which is developer trivia rather than behavioral context; nothing is said about result shape, scoring, or rate/billing behavior on a billed API.
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?
Two tightly written sentences with the purpose front-loaded before the implementation detail. The trailing REST endpoint clause is the one piece that doesn't materially help an agent decide or invoke, slightly diluting an otherwise waste-free description.
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 read-only, single-required-parameter lookup whose entire input surface is documented in the schema, this is nearly complete. With no output schema, a brief note on what the suggestions look like would have closed the remaining gap.
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 100%, so every one of the 7 parameters (bias, lang, type, limit, filter, format, text) is already documented in the schema with examples. The description adds no syntax or semantics beyond that, so the baseline 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?
States a specific verb and resource ('suggest completed addresses/places') scoped to a partial query, which implicitly separates it from geoapify_geocode_search's full-query lookup. However, no sibling tool is named, so the agent must infer the boundary rather than being told.
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?
'ideal for as-you-type inputs' gives clear situational context for when this tool is the right pick, and the 'partial query' framing implies the counterpart case (complete addresses → search). There are no explicit exclusions or named alternatives, keeping it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geoapify_geocode_reverseReverse geocodingBRead-onlyInspect
Reverse geocoding — turn coordinates into the nearest address / place. Geoapify REST: GET /v1/geocode/reverse.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude (required). | |
| lon | Yes | Longitude (required). | |
| lang | No | Result language as an ISO 639-1 code, e.g. 'en', 'de', 'fr'. | |
| type | No | Restrict to a location type, e.g. 'city', 'street', 'amenity'. | |
| limit | No | Max number of results to return. | |
| format | No | Response format — 'json' (default) or 'geojson'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe-read profile is covered and the description does not contradict it. It adds the REST route (GET /v1/geocode/reverse), which is useful orientation but says nothing about auth, rate limits, or whether multiple results are returned when limit > 1.
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?
Two short sentences, front-loaded with the purpose and followed by the endpoint reference. Nothing is bloated, though the REST route line contributes only marginal value to an agent choosing the tool.
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 carries the burden of explaining what comes back, and it does not say what the response contains or how limit affects it. For a six-parameter geocoding call it is minimally adequate rather than complete.
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 100%, so every parameter (lat, lon, lang, type, limit, format) is already documented in the schema. The description adds no syntax, defaults, or format details beyond that, so the baseline 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 second clause, 'turn coordinates into the nearest address / place,' gives a concrete verb and resource that makes the direction of the transformation unmistakable and implicitly separates it from the forward-geocoding siblings (geocode_search, geocode_autocomplete). It stops short of 5 because no sibling is named explicitly, so the agent must infer that separation.
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?
There is no statement of when to choose this over geocode_search, geocode_autocomplete, or place_details, and no prerequisites or exclusions. The only guidance is the implicit 'you have coordinates' framing, which is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geoapify_geocode_searchForward geocodingARead-onlyInspect
Forward geocoding — turn a free-form address or place name into coordinates and structured address parts. Geoapify REST: GET /v1/geocode/search.
| Name | Required | Description | Default |
|---|---|---|---|
| bias | No | Bias results toward a location, e.g. 'proximity:13.4,52.5'. | |
| lang | No | Result language as an ISO 639-1 code, e.g. 'en', 'de', 'fr'. | |
| text | Yes | The free-form address or place name to geocode (required). | |
| type | No | Restrict to a location type, e.g. 'city', 'street', 'amenity', 'postcode'. | |
| limit | No | Max number of results to return. | |
| filter | No | Spatial filter, e.g. 'countrycode:de' or 'rect:lon1,lat1,lon2,lat2'. | |
| format | No | Response format — 'json' (default) or 'geojson'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered and the bar is lower. The description adds the underlying REST endpoint, but says nothing about authentication, rate limits, quota behavior, or how ambiguous matches are ranked — context that would help an agent decide whether one call suffices.
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?
Two short sentences, the capability statement front-loaded ahead of the endpoint detail, with no filler. The REST endpoint line is arguably noise for an agent that never needs the raw path, but it costs only one clause.
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?
Complete for a single-required-parameter, read-only lookup whose annotations carry the safety profile and whose schema carries all parameter semantics. The phrase 'coordinates and structured address parts' tells the agent what comes back, which is sufficient absent an output schema.
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 100%, so every parameter (bias, lang, text, type, limit, filter, format) is already documented with an example in the schema. The description adds no syntax, default, or interaction detail beyond that, which is the baseline-3 case when the schema does the work.
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+resource ('turn a free-form address or place name into coordinates and structured address parts') and adds an implementation anchor (GET /v1/geocode/search). The word 'Forward' implicitly distinguishes it from the reverse-geocoding sibling, but nothing explicitly separates it from geoapify_geocode_autocomplete.
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: 'free-form address or place name' suggests complete input rather than the partial-input case that autocomplete handles. No explicit when-to-use statement, no exclusions, and the sibling tools that compete for the same request (autocomplete, place_details) are never named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geoapify_ip_geolocationIP geolocationBRead-onlyInspect
Look up the approximate location (country, city, coordinates) of an IP address. Geoapify REST: GET /v1/ipinfo.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | The IPv4/IPv6 address to locate (required). | |
| lang | No | Result language as an ISO 639-1 code, e.g. 'en', 'de', 'fr'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the safety profile is already covered. The description usefully qualifies the result as 'approximate' and gives the REST endpoint, but says nothing about accuracy limits, auth/API-key requirements, or rate limits.
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?
Two short sentences, purpose front-loaded with no filler. The trailing 'Geoapify REST: GET /v1/ipinfo.' is marginal value for an agent but harmless and brief.
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, two-parameter tool with full schema coverage, the definition covers purpose and rough return shape even though no output schema exists. It could say more about the precision/format of the coordinates and whether the response includes any additional fields, but nothing essential 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 description coverage is 100% for both parameters, so the schema fully documents 'ip' (required, IPv4/IPv6) and 'lang' (ISO 639-1). The description adds no parameter-level detail beyond what the schema already provides, so the baseline 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?
States a specific verb ('Look up') and resource ('IP address') and enumerates the returned fields (country, city, coordinates), which is enough to distinguish it from the address-based geocode_* siblings. It does not explicitly say it is the IP-based alternative to those tools, 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?
There is no when-to-use/when-not-to-use guidance and no reference to alternatives such as geoapify_geocode_reverse for coordinate-to-place lookups. The use case is inferable from the name and resource, but the description itself offers no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geoapify_isolineReachability isolineCRead-onlyInspect
Compute a reachability isoline (isochrone/isodistance) — the area reachable from a point within a time or distance budget. Geoapify REST: GET /v1/isoline.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Origin latitude (required). | |
| lon | Yes | Origin longitude (required). | |
| lang | No | Result language as an ISO 639-1 code, e.g. 'en', 'de', 'fr'. | |
| mode | Yes | Travel mode: drive, walk, bicycle, etc. (required). | |
| type | Yes | Isoline type — 'time' (seconds) or 'distance' (meters) (required). | |
| range | Yes | Budget for the isoline — seconds if type=time, meters if type=distance (required). | |
| traffic | No | Traffic model for driving, e.g. 'free_flow' or 'approximated'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already tells the agent this is a non-mutating read, so the description's only added behavioral detail is that it hits GET /v1/isoline (consistent with, not beyond, the annotation). It discloses nothing about rate/quota limits, API key requirements, request constraints (e.g., maximum range), or what geometry/format is returned.
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?
Two tight sentences with the core definition front-loaded; the parenthetical '(isochrone/isodistance)' efficiently supplies synonyms. The trailing 'Geoapify REST: GET /v1/isoline' is mildly redundant for an agent that already has the tool, keeping it from a 5.
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 does at least tell the agent the return is an area (polygon-ish), which is the key semantic. But it omits response format, whether multiple range bands can be requested, coordinate/distance unit caveats, and any cost or limit context for a fairly complex geometry-computation call.
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 100%, so every parameter (lat, lon, mode, type, range, traffic, lang) is already documented in the schema, including the units for 'range' and the enum for 'type'. The description only echoes the time-vs-distance budget idea, adding no syntax, units, or defaults beyond the schema. Baseline 3 is appropriate.
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 ('Compute') and a well-defined resource ('reachability isoline (isochrone/isodistance)'), and even paraphrases the output as 'the area reachable from a point within a time or distance budget.' That is enough for an agent to grasp the concept without opening the schema. It stops short of 5 because it never names or contrasts the nearest sibling (geoapify_routing), leaving the routing-vs-isoline selection to inference.
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?
There is no when-to-use / when-not-to-use statement, no prerequisites, and no explicit pointer to alternatives such as geoapify_routing for point-to-point directions or geoapify_places for nearby POIs. Usage can only be inferred from the tool's own purpose, which is the classic 'no guidance' case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geoapify_place_detailsPlace detailsARead-onlyInspect
Get detailed information (and optionally geometry/features) for a place. Provide either id (the place_id returned by geoapify_places) OR both lat and lon. Geoapify REST: GET /v2/place-details.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | The Geoapify place id (pass the `place_id` value from geoapify_places). | |
| lat | No | Latitude (use with `lon` instead of `id`). | |
| lon | No | Longitude (use with `lat` instead of `id`). | |
| lang | No | Result language as an ISO 639-1 code, e.g. 'en', 'de', 'fr'. | |
| features | No | Comma-separated detail feature sets, e.g. 'details,building,geometry'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so safety is covered; the description usefully adds the exclusive-or input contract and that features/geometry are optional, plus the underlying REST call (GET /v2/place-details). No auth, rate-limit or failure-mode context, but for a read-only lookup the added contract detail is meaningful.
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?
Two compact sentences, front-loaded with purpose, then the input rule, then the REST endpoint. No filler; every clause carries 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 a read-only detail lookup with 100% schema coverage and no output schema, the description covers purpose, input selection and optional feature expansion adequately. It does not describe the shape of the returned detail payload, but that is the only notable gap.
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 individual params are documented, but the description adds cross-parameter semantics the schema only hints at — the id-vs-lat/lon mutual exclusivity. That relational constraint is the key thing an agent must get right, so it exceeds the baseline 3.
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 ('Get detailed information ... for a place') and distinguishes itself from geoapify_places by being the detail-lookup follow-up rather than the search. The parenthetical 'optionally geometry/features' scopes the breadth precisely.
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?
Clearly specifies the input conditions: provide `id` (the `place_id` returned by geoapify_places) OR both `lat` and `lon`. This explicitly links to the sibling tool that produces the id and gives a clear selection rule. It lacks any when-not guidance (e.g. when reverse geocoding is preferable), so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geoapify_placesPlaces searchARead-onlyInspect
Search for places (POIs) by category within an area, optionally filtered by name/conditions. Returns a GeoJSON FeatureCollection. Geoapify REST: GET /v2/places.
| Name | Required | Description | Default |
|---|---|---|---|
| bias | No | Bias results toward a location, e.g. 'proximity:13.4,52.5'. | |
| lang | No | Result language as an ISO 639-1 code, e.g. 'en', 'de', 'fr'. | |
| name | No | Filter places by (partial) name. | |
| limit | No | Max number of results to return. | |
| filter | No | Spatial filter, e.g. 'circle:13.4,52.5,1000' or 'rect:...' or 'place:<placeId>'. | |
| offset | No | Pagination offset (skip N results). | |
| categories | Yes | Comma-separated Geoapify place categories, e.g. 'catering.restaurant,commercial' (required). | |
| conditions | No | Comma-separated conditions, e.g. 'named,internet_access'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true, so the description carries extra burden and does add value: it discloses the return shape ('Returns a GeoJSON FeatureCollection') and the underlying call ('Geoapify REST: GET /v2/places'). It still omits auth/API-key requirements, rate limits, and pagination behavior, so it is not exhaustive.
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 the primary capability, followed by return format and endpoint. Every sentence contributes and 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?
For an 8-parameter read-only search with no output schema, the description covers purpose, category scoping, and return type, which is enough for correct invocation. It is slightly thin on how the 'within an area' constraint is supplied (the filter/bias parameters) and on auth, preventing a 5.
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 100%, so each of the 8 parameters is already documented in the schema, establishing a baseline of 3. The description only echoes 'categories' and 'name/conditions' without adding syntax or format meaning beyond what the schema provides.
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 ('Search for places (POIs) by category within an area') and adds the optional name/conditions narrowing, so the operation is unambiguous. It does not explicitly differentiate itself from the nearby search-like siblings (geoapify_geocode_search, geoapify_place_details), so it stops short of a 5.
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 implied by the phrasing ('by category within an area', 'optionally filtered by name/conditions'), which tells the agent the tool is for category-driven POI lookup rather than address resolution. There is no explicit when-to-use/when-not guidance and no sibling alternative is named, so this is minimum-viable rather than strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geoapify_routingRoutingBRead-onlyInspect
Compute a route between waypoints for a travel mode, returning distance, time and legs. Geoapify REST: GET /v1/routing.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Result language as an ISO 639-1 code, e.g. 'en', 'de', 'fr'. | |
| mode | Yes | Travel mode: drive, walk, bicycle, truck, hike, transit, etc. (required). | |
| units | No | Distance units — 'metric' or 'imperial'. | |
| format | No | Response format — 'json' (default) or 'geojson'. | |
| details | No | Comma-separated route detail sets, e.g. 'instruction_details,route_details'. | |
| waypoints | Yes | Pipe-separated 'lat,lon' waypoints, e.g. '52.5,13.4|52.6,13.5' (required). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful context by listing what is returned (distance, time, legs), but says nothing about failure modes (unroutable waypoints, invalid mode) or rate limits, which would be valuable for a routing call.
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?
Two short sentences, front-loaded with the core action and result before the REST endpoint note. Nothing is wasted, though the endpoint line is of marginal value to an agent that only needs to pick and call the tool.
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 point-to-point routing tool with a fully documented schema and read-only annotation, the description covers the essentials and even hints at the return shape despite no output schema existing. The main gap is the absence of routing-specific caveats (failure behavior, alternatives).
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 100%, so all six parameters are already documented in the schema with examples and formats. The description adds no parameter-level detail beyond the schema (it only alludes to 'waypoints' and 'travel mode'), so the baseline 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?
States a specific verb and resource ('Compute a route between waypoints'), names the travel-mode input, and summarizes the return (distance, time, legs). It is clearly distinguishable from the geocoding, places, and isoline siblings, though it never names the closest alternative (geoapify_isoline) to draw the boundary 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?
There is no when-to-use guidance, no prerequisites (e.g., API key/auth), and no mention of when a different sibling such as geoapify_isoline would be preferable. Usage is only implied by the purpose statement.
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.
8 tool updates
- Changed
geoapify_geocode_autocomplete1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
geoapify_geocode_reverse1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
geoapify_geocode_search1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
geoapify_ip_geolocation1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
geoapify_isoline1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
geoapify_place_details1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
geoapify_places1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
geoapify_routing1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
8 tool updates
- First observed
geoapify_geocode_autocomplete - First observed
geoapify_geocode_reverse - First observed
geoapify_geocode_search - First observed
geoapify_ip_geolocation - First observed
geoapify_isoline - First observed
geoapify_place_details - First observed
geoapify_places - First observed
geoapify_routing
Related MCP Connectors
Geocoding, reverse geocoding, and places search for LatLng.
Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.
Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.
Routing, geocoding, places, matrix and map tools for location-aware AI workflows.
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
- AlicenseAqualityFmaintenanceUnified place search and geocoding over OpenStreetMap, Google, and your own CSV data. Provider fallback, multi-provider merge + dedup, cost budgets, and a policy engine. Works with zero API keys. Tools: search_places, get_place, geocode_address, reverse_geocode, list_geo_providers.101Apache 2.0

ThinAir Geoofficial
AlicenseAqualityBmaintenanceLocation & routing intelligence for AI agents — geocoding, truck routing, traffic, weather, and place search.619257 npm1MIT- AlicenseNot gradedqualityBmaintenanceEnables geocoding, reverse geocoding, elevation profiles, static map PNGs, and coordinate reprojection using MapTiler's OpenStreetMap data.16 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.