matrix
Pack: openrouteservice · Endpoint: https://gateway.pipeworx.io/openrouteservice/mcp
“Distance matrix between locations” / “all-to-all travel times” / “N×M routing grid” / “drive / walk / bike times between [list]” — N×M distance and duration matrix between many points via OpenStreetMap routing. Use for traveling-salesman setup, multi-stop optimization, nearest-warehouse, fleet dispatch. Profile-aware (car / truck / bike / foot / wheelchair).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
locations | array | yes | |
items | array | no | |
items | number | no | |
profile | string | no | |
sources | array | no | |
items | number | no | |
destinations | array | no | |
items | number | no | |
metrics | array | no | [“duration”,“distance”] |
items | string | no |
Example call
Arguments
{
"locations": [
[
8.681495,
49.41461
],
[
8.687872,
49.420318
],
[
8.675444,
49.418892
]
],
"profile": "driving-car",
"metrics": [
"duration",
"distance"
]
}
curl
curl -X POST https://gateway.pipeworx.io/openrouteservice/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"matrix","arguments":{"locations":[[8.681495,49.41461],[8.687872,49.420318],[8.675444,49.418892]],"profile":"driving-car","metrics":["duration","distance"]}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('matrix', {
"locations": [
[
8.681495,
49.41461
],
[
8.687872,
49.420318
],
[
8.675444,
49.418892
]
],
"profile": "driving-car",
"metrics": [
"duration",
"distance"
]
});
Response shape
Full JSON Schema
{
"type": "object",
"description": "Distance/duration matrix response from OpenRouteService"
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"openrouteservice": {
"url": "https://gateway.pipeworx.io/openrouteservice/mcp"
}
}
}
See Getting Started for client-specific install steps.