OpenStreetMap Overpass
live GeoOpen DataProgrammatic queries against OpenStreetMap. Raw Overpass QL plus helpers for "POIs near a point" and "all matches in a bbox". No auth.
3 tools
0ms auth
free tier 50 calls/day
Tools
query
required: qql Raw Overpass QL query against OSM.
Parameters
Name Type Description
qql req string Overpass QL query Try it
Response
pois_near
required: latitude, longitude, tag POIs in a radius around a lat/lon, filtered by OSM tag.
Parameters
Name Type Description
latitude req number Center latitude longitude req number Center longitude radius_m opt number 1-10000 metres (default 1000) tag req string OSM tag (e.g., "amenity=cafe", "shop", "tourism=museum") limit opt number Max results (1-500, default 100) Try it
Response
places_in_bbox
required: south, west, north, east, tag POIs inside a bounding box.
Parameters
Name Type Description
south req number Min latitude west req number Min longitude north req number Max latitude east req number Max longitude tag req string OSM tag filter limit opt number Max results (1-1000, default 200) Try it
Response
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
List available tools
bash
curl -X POST https://gateway.pipeworx.io/overpass/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' Call a tool
bash
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.
TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("query", {"qql":"example"}); ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("programmatic queries against openstreetmap");