Remap generates routes for cycling, running and walking anywhere on Earth.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Look up a place by name or address and return matching places with their coordinates. Use it to confirm an ambiguous start before generating routes.
Place name or address to look up.
Optional latitude to prefer nearby matches.
Optional longitude to prefer nearby matches.
Look up a place by name or address and return matching places with their coordinates. Use it to confirm an ambiguous start before generating routes.
| Argument | Type | Description |
|---|---|---|
| query* | string | Place name or address to look up. |
| near_lat | number | Optional latitude to prefer nearby matches. |
| near_lng | number | Optional longitude to prefer nearby matches. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Place name or address to look up."
},
"near_lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Optional latitude to prefer nearby matches."
},
"near_lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Optional longitude to prefer nearby matches."
}
}
}Use this when someone wants a cycling, running or walking route that starts and finishes at the same place, with a target distance or duration and optional climbing and scenery preferences. Do not use it for directions from one place to another or for driving. Shows the routes on a map where the host supports it, and always returns a link that opens the same request in Remap. Give either start (place text such as "Tempelhofer Feld, Berlin") or lng and lat, never both. When the person has not said where, call generate_routes without a start: the map asks for the person’s location and generates routes from there.
| Argument | Type | Description |
|---|---|---|
| lat | number | Start latitude in degrees, when the start is known as a coordinate. |
| lng | number | Start longitude in degrees, when the start is known as a coordinate. |
| sport* | string | The activity. Walking generates foot routes at walking pace. |
| start | string | Where the route starts and finishes, as place text (a town, park, street or address). |
| climbing | string | flat avoids hills, balanced neither seeks nor avoids them, hilly looks for climbs. |
| distance | number | Target distance of the whole route. |
| environments | array | Scenery to favour where the area has it. forest: through forest; parks: through parks and nature reserves; waterside: along rivers, canals and lakes; coast: along the coastline; climbs: over hills worth climbing; quiet_streets: through calm residential streets and lanes; long_stretches: along long, quiet, uninterrupted stretches; cycle_routes: following signed cycle routes (cycling only). |
| distance_unit | string | Unit of distance: km or mi. Defaults to km. |
| duration_minutes | number | Target duration in minutes, instead of a distance. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sport"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Start latitude in degrees, when the start is known as a coordinate."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Start longitude in degrees, when the start is known as a coordinate."
},
"sport": {
"enum": [
"cycling",
"running",
"walking"
],
"type": "string",
"description": "The activity. Walking generates foot routes at walking pace."
},
"start": {
"type": "string",
"maxLength": 200,
"description": "Where the route starts and finishes, as place text (a town, park, street or address)."
},
"climbing": {
"enum": [
"flat",
"balanced",
"hilly"
],
"type": "string",
"description": "flat avoids hills, balanced neither seeks nor avoids them, hilly looks for climbs."
},
"distance": {
"type": "number",
"description": "Target distance of the whole route.",
"exclusiveMinimum": 0
},
"environments": {
"type": "array",
"items": {
"enum": [
"forest",
"parks",
"waterside",
"coast",
"climbs",
"quiet_streets",
"long_stretches",
"cycle_routes"
],
"type": "string"
},
"maxItems": 8,
"description": "Scenery to favour where the area has it. forest: through forest; parks: through parks and nature reserves; waterside: along rivers, canals and lakes; coast: along the coastline; climbs: over hills worth climbing; quiet_streets: through calm residential streets and lanes; long_stretches: along long, quiet, uninterrupted stretches; cycle_routes: following signed cycle routes (cycling only)."
},
"distance_unit": {
"enum": [
"km",
"mi"
],
"type": "string",
"description": "Unit of distance: km or mi. Defaults to km."
},
"duration_minutes": {
"type": "number",
"description": "Target duration in minutes, instead of a distance.",
"exclusiveMinimum": 0
}
}
}