Skip to main content
Glama

Running Cat Geo

Server Details

Query OpenStreetMap with Overpass QL, find water and food stops along routes, and check weather at arrival time. Free API key: 500 requests/day, including commercial use. Setup and examples.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 13 tools

Disambiguation4/5

Core routing tools are cleanly separated (plan_route for A-to-B, plan_loop for round trips, route_report for an existing line, stops_along_route for POIs), and outdoor_layers explicitly hands off anything else to overpass_query. The only real overlap is point_report, which bundles weather_forecast, air_quality, elevation and where_is into one call — an agent must read the include parameter to know when to prefer the composite over the individual tools.

Naming Consistency4/5

All names are lower snake_case and readable, but the convention splits between noun-only (air_quality, elevation, weather_forecast, river_gauges), noun_report (point_report, area_report, route_report) and verb-led (plan_route, plan_loop, stops_along_route, where_is). Consistent casing keeps it predictable; the mixed verb style is a minor deviation rather than a problem.

Tool Count5/5

Thirteen tools for a broad geo domain (routing, elevation, weather, air quality, hydrology, admin lookup, OSM queries) is well-scoped. Each tool covers a distinct capability area and none looks like a redundant wrapper, so every tool earns its place.

Completeness4/5

Lifecycle coverage is strong: forward routing, loop planning, reporting on arbitrary lines, POIs along a route, plus point/grid reports and raw Overpass escape hatch. The notable gap is forward geocoding — there is no way to resolve a place name to coordinates (where_is is reverse only), though overpass_query with an area or bbox is a partial workaround.

Publisher details

Operator
Running Cat Development · Publisher source
Vendor relationship
First-party · Publisher source
Trust center
Unknown
Restrictions
A Running Cat Geo API key is required. The free plan includes 500 API requests per day. · Publisher source

Available Tools

13 tools
air_qualityAir qualityA
Read-only
Inspect

Air quality forecast at a point (PM2.5, PM10, NO2, ozone, SO2, CO, dust, UV, European and US AQI, ammonia and pollen in Europe) and the nearest stations with what they measure now. Counts as one request.

Inputs: lat (required), lon (required), hours, radiusKm, +1 more.

area_reportWeather, air, heights and rivers over an areaA
Read-only
Inspect

A grid over a box: weather and air quality forecasts hour by hour, heights, air quality stations and river gauges, and optionally map layers. Values come as arrays [hour][cell], cells row by row from the north-west corner. Counts one request per part.

Inputs: bbox (required), cells, hours, layers, +1 more.

elevationHeights of pointsA
Read-only
Inspect

Height above sea level in metres for up to 1,000 points given as [lon, lat]. Counts as one request.

Inputs: points (required).

outdoor_layersTrails, parks, pistes and boundaries in a boxA
Read-only
Inspect

Features of one map layer that meet a box of up to 16 square degrees (about 4 by 4 degrees), from OpenStreetMap: name, kind, a few key tags (ref, network, operator, osmc:symbol, distance, piste:difficulty, protect_class, admin_level, website, wikidata) and each feature's bounding box; no full geometry here. Layers and their kinds: route = marked routes, kinds hiking, bicycle, mtb, foot, running; protected_area = kinds protected_area, national_park, nature_reserve; piste = ski pistes, kinds downhill, nordic, skitour, sled, hike and other piste:type values; aerialway = lifts, kinds cable_car, gondola, chair_lift, drag_lift, t-bar, platter, rope_tow, magic_carpet and other aerialway values; boundary = administrative boundaries, kinds are admin levels such as 2 (countries), 4 (regions or states), 6 (counties or districts), 8 (municipalities), larger units first. At most limit features come back; when there were more, truncated is true and the rest are left out in no particular order, so narrow the box or pass kinds. For anything else on the map (shops, peaks, springs, huts, a tag combination) use overpass_query. Counts as one request.

Inputs: bbox (required), layer (required), kinds, limit.

overpass_queryOverpass QL queryA
Read-only
Inspect

Runs an Overpass QL query on OpenStreetMap data and returns Overpass JSON. Supports tag filters, bbox, around (a point or a line), poly, area (administrative boundaries and protected areas), is_in, unions and out body/tags/center/geom/count. Every query needs a bbox, around, poly, area or id; no recursion (> <). With openAt, only places whose opening_hours say they are open at that local time come back, and open_at in the answer counts how many were open, closed or had no readable hours. Counts as one request.

Inputs: query (required), openAt.

plan_loopPlan a round tripA
Read-only
Inspect

A loop of about distanceKm (5 to 200) back to the start for a bike, city bike, road bike, gravel, MTB, hiking, car or shortest profile, setting off towards direction (degrees, 0 = north); another direction gives another loop. Returns length, climb, duration, kilometres paved, unpaved and unknown, and a coarse outline; optionally reports on it like plan_route. Counts once per started 100 km; each report part counts one request.

Inputs: start (required), distanceKm (required), report, profile, +3 more.

plan_routePlan a routeA
Read-only
Inspect

Finds a route on OpenStreetMap roads and paths through 2 to 50 waypoints, in the order given, and optionally reports on it. Returns length (km), climb (m), duration, kilometres paved, unpaved and unknown, kilometres per road type, and an outline of about 40 [lon, lat] points (not the full line). With report it adds, for the route found: the elevation profile, the weather at the time you reach each point, time zones, air quality stations, river gauges, map layers, surfaces or land cover. Use plan_loop instead for a round trip of a given length from one start, and route_report for a line you already have (a GPX track, a route from another app). If a waypoint cannot be reached with the profile (a pedestrian zone for a car, a footpath for a road bike) the answer is an error saying no route; move the point or change the profile. A route counts once per started 100 km (50 km for mtb); each report part counts one request.

Inputs: points (required), report, profile, speedKmh, +2 more.

point_reportEverything about a placeA
Read-only
Inspect

For one place: its name, country, region and administrative areas, time zone, height, the weather forecast, the air quality forecast with pollen, air quality stations nearby with what they measure now, and river gauges nearby. Pick parts with include to get less. Counts as one request.

Inputs: lat (required), lon (required), days, lang, +3 more.

river_gaugesRiver levelsA
Read-only
Inspect

River gauges near a point or inside a box (Germany, France, England, Scotland, the Netherlands, Flanders, Luxembourg, Czechia, Ireland, Switzerland, Sweden, Finland, Canada, USA, and in Spain Catalonia and the Guadalquivir basin, in Italy Lombardy, Veneto, Emilia-Romagna and South Tyrol) with the latest level in cm, discharge in m³/s, change over a day and warning state; or the history of one gauge by its id. Counts as one request.

Inputs: lat, lon, bbox, days, +2 more.

route_reportReport on a given routeA
Read-only
Inspect

For a route you already have as a GeoJSON LineString or MultiLineString ([lon, lat] coordinates): elevation profile with climb, weather at the time you reach each point, time zones crossed, air quality stations and river gauges near it, map layers it follows or crosses (marked routes, protected areas, borders), with include surfaces the road surface (paved, unpaved, unknown) along it, and with include landcover what the ground is (forest, fields, grassland, water, built-up and so on). Counts one request per part.

Inputs: route (required), lang, layers, include, +2 more.

stops_along_routeStops along a routeA
Read-only
Inspect

Places to stop along a route: drinking water, food, groceries, toilets, bike shops and fuel by default; on request places to sleep, sights, charging points, benches and picnic sites. The route is GeoJSON in [lon, lat] order, such as {"type": "LineString", "coordinates": [[6.1432, 46.2044], [6.2, 46.15], [6.8694, 45.9237]]}, or a MultiLineString of sections in order; a route from plan_route works once you have its full line. Each stop comes with km (kilometres from the start along the route), offsetM (metres from the route to the place), category, subtype, name, [lon, lat] and, where OpenStreetMap has them, opening_hours, brand, fee and similar tags. Stops are sorted by km, nearest to the route first at the same km. How far off the route a place may be depends on the category: 150 m for water and toilets, 200 m for food, groceries, bike shops and fuel, 300 m for charging and picnic sites, 100 m for benches, 1 km for places to sleep and sights. gaps lists stretches of over 40 km with no water or food, with their start and end km; totals counts stops per category. A very long answer has its longest lists cut and says so. Counts as one request.

Inputs: route (required), categories.

weather_forecastWeather forecastA
Read-only
Inspect

Hourly forecast and daily summaries for up to 14 days at a point: temperature, feels-like, precipitation, weather code, wind and gusts, cloud, humidity, sunrise and sunset. Times are UTC; days follow the local time zone. Counts as one request.

Inputs: lat (required), lon (required), days.

where_isWhere a point isA
Read-only
Inspect

Country, region, town and nearest place of a point, the administrative areas it lies in, and its time zone with the UTC offset now. Counts as one request.

Inputs: lat (required), lon (required), lang.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      A read-only MCP server for OpenStreetMap offering geocoding, routing, route optimization, isochrones, and POI search—requiring no API key and built for AI travel planning.
      11
      972 npm
      6
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Provides MCP clients with direct, metered access to full-planet OpenStreetMap data through the hosted Overpass API, offering tools for raw Overpass QL queries, nearby and bounding-box searches, feature counting, and usage checks.
      5
      45 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server providing structured access to OpenStreetMap data through Overpass and Nominatim APIs, enabling geocoding, nearby place searches, element queries, and tag counting without API keys.
      7
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources