Work in Progress These docs are a work in progress. More content is coming soon.

← Back to Documentation

Geo

Geocode places, discover OpenStreetMap features, build GeoJSON areas of interest, route trips, and measure real-world geometry.

Tool Reference: 7 tools with full schemas →

Use the Geo toolkit to turn place names and public OpenStreetMap data into coordinates, features, routes, measurements, and reusable GeoJSON shapes. It is built for agent workflows: results use normalized JSON, and returned geometry can be passed directly into other Geo tools or earth-observation toolkits.

The toolkit is read-only. It does not edit OpenStreetMap or store your locations.

Example prompts

Find all tennis courts within 5 km of Edmonds and map them.
Geocode this list of 15 store addresses and give me a CSV of coordinates.
Get Yost Park's boundary, buffer it by 100 m, and tell me the area in hectares.
Which 24/7 EV charging stations are within 5 km of me?

Setup

Feature queries and geometry operations need no third-party account. Geocoding and routing use your own API key from LocationIQ or Geoapify; configure either provider or both.

Prefer video? This setup video (0:43) shows how to configure LocationIQ and Geoapify keys in Toolforest:

Get a provider key

  • LocationIQ: create a LocationIQ account. LocationIQ results include OpenStreetMap object IDs, which makes it the better choice when you want to chain a geocoding result into lookup_place.
  • Geoapify: create a Geoapify account. Geoapify geocoding results do not expose OpenStreetMap object IDs.
Your provider account and terms
Requests made with a LocationIQ or Geoapify key count against that provider account. The provider's current plan limits and terms—including attribution, caching, and commercial-use rules—apply directly to you. Check the provider's website before relying on a particular quota or use right.

Configure Geo in Toolforest

  1. Open Toolforest and select the MCP server where you want to use Geo.
  2. Find the Geo toolkit and click Configure.
  3. Paste a LocationIQ key, a Geoapify key, or both into their matching fields.
  4. Save the configuration and add Geo to the MCP server if it is not already connected.

When calling geocode, reverse_geocode, or route, choose the source that matches a configured key. If both are configured, you can choose the provider per call.

Tools

ToolWhat it doesProvider key
geocodeResolve up to 25 place or address queries to coordinates, bounding boxes, normalized address data, OSM metadata, and optional boundary geometry.LocationIQ or Geoapify
reverse_geocodeResolve up to 25 coordinate pairs to normalized addresses, from country to building-level detail.LocationIQ or Geoapify
routeRoute between 2–10 waypoints for walking, driving, or cycling, with distance, duration, and optional route geometry.LocationIQ or Geoapify
query_featuresFind OSM features by tag inside a radius, bounding box, named area, or exact OSM boundary. Can return compact centers, full geometry, or one merged AOI.None
lookup_placeFetch complete tags, centroid, bounds, and optional boundary GeoJSON for a known OSM node, way, or relation.None
make_aoiBuild and transform GeoJSON with buffering, simplification, merge, intersection, difference, boundary, and validation operations.None
measureMeasure distance, path length, area, centroid, or point containment from inline GeoJSON or an OSM reference.None

Cookbook

These prompts are designed to exercise the toolkit’s most useful chains. Your assistant can inspect the live tool schemas and choose the exact arguments.

Find and map nearby tennis courts

Find all tennis courts within 5 km of Edmonds and map them.

Use geocode to establish the intended Edmonds, then query_features with leisure=pitch and sport=tennis. Ask for full geometry only when the map needs court outlines; the default center geometry keeps the response compact.

Batch-geocode addresses

Geocode this list of 15 store addresses and give me a CSV of coordinates.

geocode accepts up to 25 queries in one call and returns each input beside its matches or error. Include enough city or postal context to disambiguate repeated street names.

Build and measure a park AOI

Get Yost Park’s boundary, buffer it by 100 m, and tell me the area in hectares.

For the most reliable chain, geocode with LocationIQ to obtain the OSM object ID, call lookup_place for the boundary, pass that GeoJSON to make_aoi with buffer_geometry, then use measure for the final area. One square kilometre equals 100 hectares.

Find always-open EV charging

Which 24/7 EV charging stations are within 5 km of me?

Use query_features with amenity=charging_station, then keep results whose opening_hours tag is 24/7. Public OSM tags can be missing or stale, so treat the result as a discovery list rather than a guarantee of current availability.

Attribution and credits

Geo results are built on OpenStreetMap data, © OpenStreetMap contributors, available under the ODbL. Geocoding and routing are provided by LocationIQ or Geoapify. Feature queries use the volunteer-operated Overpass API infrastructure.

Every provider-backed response includes an attribution string. Show that attribution when you publish or display the data.

Notes and limits

  • Geocoding and reverse-geocoding batches accept up to 25 items.
  • Feature queries return up to 200 results and set truncated with a narrowing hint when more results exist.
  • area_name is an exact OSM name and may match several places worldwide. Prefer area_osm_type plus area_osm_id when you already hold a boundary reference.
  • Full feature geometry is simplified by default to keep agent responses usable. Raise the point limit only when the added detail is necessary.
  • Metric geometry operations reject antimeridian-spanning and near-pole shapes instead of returning misleading measurements.
  • Public Overpass instances are shared community infrastructure. Large or broad queries can time out; narrow the search area or reduce the requested result size and retry.