The tag lookup exists because the failure mode of this workflow is an invented tag that quietly returns nothing — it checks a built-in category index and falls back to live tag data. The design elsewhere follows the same instinct of narrowing before querying, and of letting you check the result: every answer carries a link that plots it on a map, which is the difference between a plausible coordinate list and one you have actually seen.
A geospatial helper over open data: it parses bounding-box input as WKT, GeoJSON, an ogrinfo extent or a raw coordinate string, reprojects it, indexes an area as Uber H3 cells, and runs Overpass QL queries scoped to a boundary, a box or a radius. It answers from OpenStreetMap rather than from the model's memory, and every response comes with a link that plots the result on a map so you can verify it.
- get_bounds converts a bounding box across input notations and output formats — CSV, WKT, GeoJSON box or polygon, Leaflet, Overpass, OGC, KML, STAC — reprojected to any EPSG code, with the centre point and tile coordinates returned alongside.
- get_h3_indices returns Uber H3 cell indices covering an area at a chosen resolution, optionally compacted into coarser parents and with the hexagon geometry included.
- search_overpass runs an Overpass QL query wrapped in the right spatial filter automatically, scoped to an administrative boundary, a box, or a radius in metres, and returns names, coordinates and tags.
- aggregate_overpass_h3 runs the same kind of query but bins the results into H3 hexagons, which turns a long result list into a density surface.
- list_osm_tags looks up the correct OpenStreetMap tags for a category from a built-in index, falling back to the live Taginfo API.
- reverse_geocode answers what is here for a latitude and longitude, returning place name, address components and the underlying OSM detail.
- generate_share_url produces the link to the visual bounding-box tool showing those coordinates on a map.
Nothing at all for coordinates you supply yourself: no key, no signup, and it runs from npx against public OpenStreetMap services. Resolving a plain place name — asking for San Francisco rather than a coordinate pair — needs a Mapbox access token. If you host this for other people, set your own Nominatim endpoint rather than pointing shared traffic at the public one, and there is a safety cap on how many H3 cells a single grid may generate.
One command — npx -y bbox-mcp-server
