OSRM Routing
liveTransportGeographyOpen Source Routing Machine — routing, distance matrix, snap-to-road, map-matching, TSP. Keyless via demo server.
Tools
osrm_routeCompute the fastest route between two or more waypoints.
No parameters required.
Try it
tablerequired: coordinatesDistance / duration matrix between source and destination points.
coordinatesreqstring—profileoptstring—sourcesoptstring—destinationsoptstring—annotationsoptstring—Try it
nearestrequired: longitude, latitudeSnap a single point to the nearest road segment.
longitudereqnumber—latitudereqnumber—profileoptstring—numberoptnumber—Try it
osrm_matchMap-match a noisy GPS trace (semicolon-separated lon,lat pairs) to the road network via OSRM, optionally specifying per-point search radiuses in meters; returns matched route geometry and confidence.
No parameters required.
Try it
triprequired: coordinatesSolve a TSP-like trip between multiple waypoints.
coordinatesreqstring—profileoptstring—roundtripoptboolean—sourceoptstring—destinationoptstring—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/osrm/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/osrm/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"osrm_route","arguments":{}}}'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("osrm_route", {});// Or ask in plain English:
const answer = await px.ask("open source routing machine — routing, distance matrix, snap-to-road, map-matching, tsp");