OpenStreetMap Overpass
liveGeographyProgrammatic queries against OpenStreetMap. Raw Overpass QL plus helpers for "POIs near a point" and "all matches in a bbox". No auth.
Tools
queryrequired: qqlRun a raw Overpass QL query against OpenStreetMap. Use for complex spatial queries the helper tools can't express. Example: `[out:json][timeout:25]; area["name"="Berlin"][admin_level=4]->.a; node["ame
qqlreqstringOverpass QL queryTry it
pois_nearrequired: latitude, longitude, tagFind OpenStreetMap points of interest (shops, amenities, businesses) near a location. Give a location either as latitude+longitude OR as a place name via "place" (e.g. place: "Göttingen, Germany" — au
latitudereqnumberCenter latitudelongitudereqnumberCenter longituderadius_moptnumber1-10000 metres (default 1000)tagreqstringOSM tag (e.g., "amenity=cafe", "shop", "tourism=museum")limitoptnumberMax results (1-500, default 100)Try it
places_in_bboxrequired: south, west, north, east, tagFind OSM POIs inside a bounding box. Use for "every park in this area" or "all restaurants in this neighborhood". Bounding box is (south, west, north, east) in degrees.
southreqnumberMin latitudewestreqnumberMin longitudenorthreqnumberMax latitudeeastreqnumberMax longitudetagreqstringOSM tag filterlimitoptnumberMax results (1-1000, default 200)Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/overpass/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/overpass/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"query","arguments":{"qql": "example"}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("query", {"qql":"example"});// Or ask in plain English:
const answer = await px.ask("programmatic queries against openstreetmap");