API & MCP
Everything a person can do on Cartograph Meet Halfway (fair meeting point for 2–12 people), a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://cartographmeethalfway.usefulweb.app/api/v1/calculate– run Cartograph Meet Halfway (fair meeting point for 2–12 people)GET https://cartographmeethalfway.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Cartograph Meet Halfway (fair meeting point for 2–12 people)
Takes two to twelve places (any coordinate format) and finds the geodesic midpoint, the fairest point (the shortest longest trip, i.e. the centre of the smallest circle around everyone on the globe) and the point with the least total distance, with every person’s straight-line distance. With an OpenStreetMap extract it also finds the fairest meeting place by road for walking or cycling. It is the meet-halfway engine of the Cartograph app.
| Field | Type | Default | Description |
|---|---|---|---|
people | textarea | "Berlin: 52.5163, 13.3777\nHamburg: 53.5503, 9.9920\nMunich: 48.1374, 11.5755" | People (one per line: “Name: coordinate”). Coordinates in any format: decimal degrees, DMS, UTM, MGRS, plus codes, geohash. Addresses are not looked up. |
useRoads | boolean | false | Also find the fairest place by road (needs an extract or the Vaduz sample) |
profile | select (foot, bike) | "foot" | Travel mode for roads |
file | file | — | OpenStreetMap extract (.osm, .osm.pbf or GeoJSON). Up to 25 MB. Leave empty to use the built-in Vaduz sample. Download extracts from your own OpenStreetMap export, Geofabrik or BBBike; Cartograph never fetches map data itself. |
Example request
Berlin, Hamburg and Munich (straight line)
curl -X POST https://cartographmeethalfway.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{"people":"Berlin: 52.5163, 13.3777\nHamburg: 53.5503, 9.9920\nMunich: 48.1374, 11.5755"}'
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://cartographmeethalfway.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
cartograph_meet_halfway - Local stdio connector:
node src/mcp-stdio.ts --tool=cartograph-meet-halfway
{
"mcpServers": {
"cartograph-meet-halfway": { "type": "http", "url": "https://cartographmeethalfway.usefulweb.app/mcp" }
}
}