Agentic-first geolocation utility service. Calculate distances, bearings, midpoints, destinations, bounding boxes, geohash encode/decode, DMS conversion, and antipodes. Plain text API, agent-driven, single Go binary.
# Build
make build
# Run
./geokit
# Or with custom address
./geokit -addr :9090All endpoints return plain text by default. Add Accept: application/json or ?format=json for JSON.
GET /distance?from=51.5074,-0.1278&to=48.8566,2.3522&unit=km
Units: km, mi, m, ft, nm
GET /bearing?from=51.5074,-0.1278&to=48.8566,2.3522
GET /final-bearing?from=51.5074,-0.1278&to=48.8566,2.3522
GET /midpoint?a=51.5074,-0.1278&b=48.8566,2.3522
GET /destination?from=51.5074,-0.1278&bearing=90&distance=100&unit=km
GET /bbox?center=51.5074,-0.1278&radius=10&unit=km
GET /dms?lat=51.5074&lng=-0.1278
GET /dms/parse?dms=51°30'26.4"N 0°07'40.1"W
GET /geohash/encode?lat=51.5074&lng=-0.1278&precision=9
GET /geohash/decode?hash=gcpvj0cur
GET /geohash/bounds?hash=gcpvj0
GET /geohash/neighbor?hash=gcpvj0&dir=n
GET /geohash/neighbors?hash=gcpvj0
GET /antipode?lat=51.5074&lng=-0.1278
POST /mcp
JSON-RPC 2.0 endpoint with 14 tools.
GET /help
GET /.well-known/agent.md
| Flag | Env | Default | Description |
|---|---|---|---|
-addr |
GEOKIT_ADDR |
:8080 |
Listen address |
-secret |
GEOKIT_SECRET |
(auto) | Token signing secret |
CGO_ENABLED=0 go build -trimpath ./cmd/geokitMIT