bikerouter-mcp
Uses Komoot's Photon geocoding service (photon.komoot.io) to convert place names and addresses into coordinates for route planning.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bikerouter-mcpplan a gravel route from Cologne to Bonn along the Rhine and give me the GPX"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bikerouter-mcp
An MCP server that plans bike routes with bikerouter.de — the BRouter-Web frontend by Norbert Renner on top of the BRouter engine by Arndt Brenschede, routing on OpenStreetMap data.
Point any MCP client (Claude Code, Claude Desktop, …) at it and ask things like "plan a gravel route from Cologne to Bonn along the Rhine and give me the GPX".
What it can do
Tool | Purpose |
| Route through 2+ waypoints (coordinates or place names) and return distance, ascent/descent, estimated riding time, surface and way-type breakdown, turn instructions, a shareable bikerouter.de link, and optionally a saved GPX/GeoJSON/KML/CSV file. |
| Route the same waypoints with several profiles (e.g. |
| Turn a place name, address or POI into coordinates (via Photon, the geocoder bikerouter.de uses). |
| List the known routing profiles, optionally verifying which ones the routing host actually serves. |
| Read a profile's |
Sample plan_route output:
**Route** (profile: `trekking`)
Alexanderplatz, Berlin → Brandenburger Tor, Berlin
- Distance: **5.2 km**
- Estimated riding time: **20 min** (⌀ 15.6 km/h, from the profile's physics model)
- Ascent: **80 m** / descent: **60 m**
- Elevation: 35–55 m (start 35 m, end 55 m)
- Surfaces: asphalt 76.9% (4 km), gravel 23.1% (1.2 km)
- Way types: cycleway 38.5% (2 km), residential 38.5% (2 km), track 23.1% (1.2 km)
Open in bikerouter.de: https://bikerouter.de/#map=14/52.518154/13.396327/standard&lonlats=…&profile=trekkingRelated MCP server: Hiking MCP Server
Install
cd bikerouter-mcp
npm install # also builds via the prepare script
npm testRegister it with Claude Code:
claude mcp add bikerouter -- node /absolute/path/to/bikerouter-mcp/dist/index.jsor add it to claude_desktop_config.json / any other MCP client:
{
"mcpServers": {
"bikerouter": {
"command": "node",
"args": ["/absolute/path/to/bikerouter-mcp/dist/index.js"]
}
}
}No API key is needed — the service is free and unauthenticated.
Configuration
All optional, set as environment variables:
Variable | Default | Meaning |
|
| Host serving the BRouter |
|
| Web UI used for the shareable map links. |
|
| Where |
|
| Photon-compatible geocoder. |
|
| Profile used when the caller does not name one. |
|
| HTTP timeout. Long routes can take a while. |
|
| Sent with every request. |
How it maps onto the BRouter API
Requests are plain GET /brouter calls, exactly as documented in BRouter's
ServerHandler.java:
/brouter?lonlats=lon,lat|lon,lat&nogos=lon,lat,radius,weight|…&profile=trekking
&alternativeidx=0&format=geojson&timode=1&straight=0&profile:avoid_unsafe=truewaypoints→lonlats(place names are geocoded first, biased towards the previous waypoint)avoid_areas→nogos(omitweightfor a hard no-go)straight_from→straight(beeline legs)profile_options→profile:NAME=VALUEalternative_index→alternativeidx(1–3 for alternative routes)turn_instructions→timode(voice hints in the GeoJSON response)
The GeoJSON response is summarised locally: track length, filtered ascend,
total-time and total-energy come from the track properties, descent is
derived from the filtered ascent and the net height change, and the surface /
way-type / smoothness breakdown is aggregated from the messages table
(WayTags weighted by Distance).
Limitations worth knowing
Routing quality is OpenStreetMap quality. Missing surface or access tags produce odd detours; always sanity-check a route on the returned map link before riding it.
BRouter has no street names, so turn instructions read "in 1.2 km turn right" without a road name. That is a property of the engine, not of this server.
Estimated riding time comes from the profile's physics model (rider mass, power, drag). Override
totalMass,bikerPower,maxSpeedviaprofile_optionsfor a realistic figure.Elevation needs SRTM coverage; above ~60°N/S the track comes back without elevations and the summary says so.
The public service is a free, community-run instance — keep request volume modest, or run your own BRouter server and set
BIKEROUTER_HOST.Profiles differ per server.
list_profilesships a catalog of the stock BRouter/BRouter-Web profiles; passverify: trueto check what a given host really serves.
Tests
npm test builds the server and runs node --test:
unit tests for URL building, waypoint validation,
.brfparameter parsing and the GeoJSON summariseran end-to-end test that speaks MCP over stdio to the real server binary against a stub BRouter host, covering routing, GPX export, profile listing and BRouter's plain-text error responses
The tests never touch the public service, so they run offline.
Credits and licence
Server code: MIT. It is a client only — routing is done by BRouter (MIT) through BRouter-Web / bikerouter.de, on map data © OpenStreetMap contributors (ODbL).
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn AI-powered companion that provides access to the RideWithGPS API, allowing you to interact with cycling routes, trips, events, and user data through natural language.6MIT
- FlicenseAqualityDmaintenanceAllows you to search for hiking routes on Wikiloc using geographic and textual queries.14
- FlicenseBqualityCmaintenanceEnables users to interact with Komoot for managing tours, planning routes, exporting GPX/FIT, and accessing highlights and user profile.18
- AlicenseAqualityCmaintenanceMCP server for planning routes (hiking, biking, driving, etc.) using the OpenRouteService API. Provides tools to find coordinates, create routes with GPX/PNG/HTML output, search POIs, and compute reachable areas.62MIT
Related MCP Connectors
Routing, isochrones, matrix, snap, elevation, geocode via Openrouteservice.
Basque Country hyperlocal mobility: ES/EU semantic search, routing, open-data POIs, peak-bagging.
Geoapify MCP — wraps the Geoapify Location Platform (geoapify.com)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mzorz/bikerouter-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server