
Connects Claude to free geographic APIs through a streamable HTTP gateway. You get five tools: geocode addresses to coordinates, reverse geocode coordinates to street addresses, look up country data by name or ISO code, fetch timezone and current time for locations, and get sunrise/sunset times. Runs through Pipeworx's gateway infrastructure, which means you can either use this standalone geo endpoint or connect to their full gateway for access to 600+ other data sources. Useful when you need location lookups, timezone conversions, or coordinate transforms without managing API keys yourself.
Public tool metadata for what this MCP can expose to an agent.
geocodeConvert an address, place name, street, or intersection into coordinates and structured location results. Use when input is text and you need coordinates before routing, weather, or search. Supports street-level resolution and proximity biasing.6 paramsConvert an address, place name, street, or intersection into coordinates and structured location results. Use when input is text and you need coordinates before routing, weather, or search. Supports street-level resolution and proximity biasing.
boundary_countrystringfocus_latnumberfocus_lonnumberlayersstringquerystringsizenumberreverse_geocodeConvert coordinates into the nearest address, street, or place. Use when starting from GPS coordinates or a map position.4 paramsConvert coordinates into the nearest address, street, or place. Use when starting from GPS coordinates or a map position.
latnumberlayersstringlonnumbersizenumberdirectionsGenerate routes, ETAs, and turn-by-turn directions between locations. Supports car / truck / motorcycle / pedestrian / bicycle, with hazmat + dimension + toll avoidance for commercial routing. ETAs are returned as ISO 8601 with timezone offset (in the destination's local timez...18 paramsGenerate routes, ETAs, and turn-by-turn directions between locations. Supports car / truck / motorcycle / pedestrian / bicycle, with hazmat + dimension + toll avoidance for commercial routing. ETAs are returned as ISO 8601 with timezone offset (in the destination's local timez...
avoid_tollsbooleanaxle_countnumberaxle_loadnumbercostingstringauto · truck · bicycle · pedestrian · motorcyclefromstringhazmatbooleaninclude_trafficbooleantostringtop_speednumbertruck_heightnumbertruck_lengthnumbertruck_weightnumbertruck_widthnumberunitsstringmiles · kilometersuse_ferrynumberuse_highwaysnumbervehicle_profilestringviaarraytrafficRetrieve live traffic conditions, congestion, and speed for a location. Use when traffic is needed independently of routing — for corridor monitoring, area congestion, or incident checks. COVERAGE: live data for ~30 major US metros; returns degraded or empty values outside the...3 paramsRetrieve live traffic conditions, congestion, and speed for a location. Use when traffic is needed independently of routing — for corridor monitoring, area congestion, or incident checks. COVERAGE: live data for ~30 major US metros; returns degraded or empty values outside the...
latnumberlonnumberunitsstringmiles · kilometersweatherGet current and forecast weather for a location, including severe weather alerts and minute-by-minute precipitation. Use for destination conditions, travel planning, or route risk assessment.8 paramsGet current and forecast weather for a location, including severe weather alerts and minute-by-minute precipitation. Use for destination conditions, travel planning, or route risk assessment.
forecast_daysnumberinclude_alertsbooleaninclude_forecastbooleaninclude_minutelybooleanlatnumberlocationstringlonnumberunitsstringimperial · metricisochroneGenerate travel-time or travel-distance reachability polygons from an origin. Pass MULTIPLE bands in one call — e.g. `contours_minutes:[10,20,30]` returns three nested polygons in a single response (one round-trip, not three). Use for service coverage, dispatch range, territor...6 paramsGenerate travel-time or travel-distance reachability polygons from an origin. Pass MULTIPLE bands in one call — e.g. `contours_minutes:[10,20,30]` returns three nested polygons in a single response (one round-trip, not three). Use for service coverage, dispatch range, territor...
contours_kmarraycontours_minutesarraycostingstringauto · truck · bicycle · pedestrian · motorcyclelocationstringtruck_heightnumbertruck_weightnumbersearch_placesCATEGORY-specific POI search near a point — gas stations, truck stops, restaurants, charging stations, etc. Use this when the user has a specific TYPE of place in mind (food / health / retail / fuel / accommodation / nightlife / transport / government / recreation). For broade...6 paramsCATEGORY-specific POI search near a point — gas stations, truck stops, restaurants, charging stations, etc. Use this when the user has a specific TYPE of place in mind (food / health / retail / fuel / accommodation / nightlife / transport / government / recreation). For broade...
categoriesarraycenterobjectlayersstringlimitnumberquerystringradius_mnumberbatch_geocodeGeocode multiple addresses in one request with structured per-record results. Use for bulk operations instead of repeated single geocode calls. Max 50 per batch.1 paramsGeocode multiple addresses in one request with structured per-record results. Use for bulk operations instead of repeated single geocode calls. Max 50 per batch.
addressesarrayexploreBROWSING / DISCOVERY search — cities, neighbourhoods, or mixed venues near a location. Use this when the user is exploring a REGION rather than looking for a specific category. Supports population filtering ('cities > 100k'), distance/population sorting, and layer filtering (l...9 paramsBROWSING / DISCOVERY search — cities, neighbourhoods, or mixed venues near a location. Use this when the user is exploring a REGION rather than looking for a specific category. Supports population filtering ('cities > 100k'), distance/population sorting, and layer filtering (l...
boundary_countrystringlatnumberlayersstringlocationstringlonnumbermin_populationnumberradiusstringsizenumbersortstringpopulation · distance · combinedquotaCheck current usage, remaining limits, plan, and quota breakdown for the caller. FREE TO CALL — never counts against your quota, never blocked by it. Use this proactively when the user asks about usage or seems near limits.Check current usage, remaining limits, plan, and quota breakdown for the caller. FREE TO CALL — never counts against your quota, never blocked by it. Use this proactively when the user asks about usage or seems near limits.
No parameter schema in public metadata yet.
issue_api_keyMint a fresh API key for your current authenticated user/tenant. Useful for CLI workflows, key rotation, or MCP clients that hide the configured Bearer. The new key is tied to your existing plan. Counts as 1 query against your daily quota.Mint a fresh API key for your current authenticated user/tenant. Useful for CLI workflows, key rotation, or MCP clients that hide the configured Bearer. The new key is tied to your existing plan. Counts as 1 query against your daily quota.
No parameter schema in public metadata yet.
Geo MCP — geographic utilities from free public APIs
Part of Pipeworx — an MCP gateway connecting AI agents to 1476+ live data sources.
| Tool | Description |
|---|---|
geocode | Convert an address or place name to up to 5 matching coordinates via OpenStreetMap Nominatim. Returns latitude, longitude, display_name, and place type for each result. |
reverse_geocode | Convert coordinates to a physical address. Returns street address, city, country, and postal code. Use to identify locations from lat/lng pairs. |
get_country | Get country information by name or ISO code (e.g., 'US', 'FR'). Returns capital, population, currency, languages, and neighboring countries. Use for regional context or facts. |
get_timezone | Look up the IANA timezone name, current local time, and UTC offset (hours) for a given latitude and longitude via TimeAPI.io. Requires coordinates — does not accept city names. |
get_sunrise_sunset | Fetch sunrise, sunset, solar noon, civil twilight begin/end, and day length (seconds) for a given latitude/longitude on an optional YYYY-MM-DD date (defaults to today) via the Sunrise-Sunset API. |
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"geo": {
"url": "https://gateway.pipeworx.io/geo/mcp"
}
}
}
tools/list at https://gateway.pipeworx.io/geo/mcp returns the tools in the table
above plus the shared Pipeworx meta-tools — ask_pipeworx,
discover_tools, search_within, remember/recall and the rest of the
gateway-wide set. So the tool count you see is larger than this table: a
single-pack endpoint currently lists roughly 30 shared tools alongside the
pack's own. The connection's initialize response states its exact scope, and
is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a
scoped connection answer a question this pack does not cover — via
ask_pipeworx, which routes across the whole catalog — without you adding a
second MCP server. There is currently no way to mount a pack endpoint without
them; if the extra schemas cost you more context than the routing is worth,
connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
Both URLs reach the same gateway and the same 1476+ data sources. The
only difference is which pack's tools are listed directly; ask_pipeworx
reaches all of them from either one.
Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:
ask_pipeworx({ question: "your question about Geo data" })
The gateway picks the right tool and fills the arguments automatically.
MIT