Skip to main content
Glama
mzorz

bikerouter-mcp

by mzorz

bikerouter-mcp

Ein MCP-Server, der Fahrradrouten mit bikerouter.de plant – das BRouter-Web-Frontend von Norbert Renner auf Basis der BRouter-Engine von Arndt Brenschede, das auf OpenStreetMap-Daten routet.

Richten Sie einen beliebigen MCP-Client (Claude Code, Claude Desktop, …) darauf und fragen Sie zum Beispiel „plane eine Gravel-Route von Köln nach Bonn entlang des Rheins und gib mir die GPX".

Was es kann

Tool

Zweck

plan_route

Route durch 2+ Wegpunkte (Koordinaten oder Ortsnamen) und gib Distanz, Auf-/Abstieg, geschätzte Fahrzeit, Oberflächen- und Wegetyp-Aufschlüsselung, Abbiegehinweise, einen teilbaren bikerouter.de-Link und optional eine gespeicherte GPX/GeoJSON/KML/CSV-Datei zurück.

compare_profiles

Route dieselben Wegpunkte mit mehreren Profilen (z. B. trekking vs. gravel vs. fastbike) und vergleiche Distanz, Zeit, Anstieg und befestigten Anteil nebeneinander.

geocode_place

Wandle einen Ortsnamen, eine Adresse oder einen POI in Koordinaten um (über Photon, den Geocoder, den bikerouter.de verwendet).

list_profiles

Liste die bekannten Routing-Profile auf, optional mit Überprüfung, welche der Routing-Host tatsächlich ausliefert.

get_profile_options

Lies die .brf-Quelle eines Profils und liste die Parameter auf, die es bereitstellt (avoid_unsafe, allow_ferries, totalMass, bikerPower, …) zur Verwendung mit plan_route's profile_options.

Beispielausgabe von plan_route:

**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=trekking

Related MCP server: Hiking MCP Server

Installation

cd bikerouter-mcp
npm install     # also builds via the prepare script
npm test

Registrieren Sie es bei Claude Code:

claude mcp add bikerouter -- node /absolute/path/to/bikerouter-mcp/dist/index.js

oder fügen Sie es zu claude_desktop_config.json / einem beliebigen anderen MCP-Client hinzu:

{
  "mcpServers": {
    "bikerouter": {
      "command": "node",
      "args": ["/absolute/path/to/bikerouter-mcp/dist/index.js"]
    }
  }
}

Es ist kein API-Schlüssel erforderlich – der Dienst ist kostenlos und ohne Authentifizierung.

Konfiguration

Alle optional, als Umgebungsvariablen gesetzt:

Variable

Standard

Bedeutung

BIKEROUTER_HOST

https://brouter.de

Host, der den BRouter-/brouter-Routing-Endpunkt bereitstellt. bikerouter.de ist nur das Web-Frontend und liefert hier 404, daher ist der Standard brouter.de. Richten Sie es auf http://localhost:17777, um Ihren eigenen BRouter-Server zu verwenden.

BIKEROUTER_WEB_URL

https://bikerouter.de

Web-UI, das für die teilbaren Kartenlinks verwendet wird.

BIKEROUTER_PROFILES_URL

<host>/brouter/profiles2/, dann <host>/profiles/, dann <web>/profiles/

Wo die .brf-Profilquellen liegen (verwendet von get_profile_options).

BIKEROUTER_GEOCODER_URL

https://photon.komoot.io/api

Photon-kompatibler Geocoder.

BIKEROUTER_DEFAULT_PROFILE

trekking

Profil, das verwendet wird, wenn der Aufrufer keins angibt.

BIKEROUTER_TIMEOUT_MS

60000

HTTP-Timeout. Lange Routen können etwas dauern.

BIKEROUTER_USER_AGENT

bikerouter-mcp/0.1.0

Wird mit jeder Anfrage gesendet.

Wie es auf die BRouter-API abbildet

Anfragen sind einfache GET /brouter-Aufrufe, genau wie in BRouters ServerHandler.java dokumentiert:

/brouter?lonlats=lon,lat|lon,lat&nogos=lon,lat,radius,weight|…&profile=trekking
        &alternativeidx=0&format=geojson&timode=1&straight=0&profile:avoid_unsafe=true
  • waypointslonlats (Ortsnamen werden zuerst geocodiert, mit Tendenz zum vorherigen Wegpunkt)

  • avoid_areasnogos (weglassen weight für ein hartes No-Go)

  • straight_fromstraight (Luftlinien-Abschnitte)

  • profile_optionsprofile:NAME=VALUE

  • alternative_indexalternativeidx (1–3 für alternative Routen)

  • turn_instructionstimode (Sprachhinweise in der GeoJSON-Antwort)

Die GeoJSON-Antwort wird lokal zusammengefasst: Streckenlänge, filtered ascend, total-time und total-energy stammen aus den Track-Eigenschaften, der Abstieg wird aus dem gefilterten Anstieg und der Netto-Höhenänderung abgeleitet, und die Aufschlüsselung von Oberfläche / Wegetyp / Glätte wird aus der messages-Tabelle aggregiert (WayTags gewichtet nach Distance).

Einschränkungen, die man kennen sollte

  • Die Routing-Qualität ist OpenStreetMap-Qualität. Fehlende Oberflächen- oder Zugangs-Tags erzeugen seltsame Umwege; überprüfen Sie eine Route immer auf dem zurückgegebenen Kartenlink, bevor Sie sie fahren.

  • BRouter hat keine Straßennamen, daher lauten Abbiegehinweise „in 1,2 km rechts abbiegen" ohne Straßennamen. Das ist eine Eigenschaft der Engine, nicht dieses Servers.

  • Die geschätzte Fahrzeit stammt aus dem Physikmodell des Profils (Fahrermasse, Leistung, Luftwiderstand). Überschreiben Sie totalMass, bikerPower, maxSpeed über profile_options, um einen realistischen Wert zu erhalten.

  • Höhenangaben benötigen SRTM-Abdeckung; oberhalb von ~60°N/S kommt die Strecke ohne Höhen zurück und die Zusammenfassung sagt das.

  • Der öffentliche Dienst ist eine kostenlose, von der Community betriebene Instanz – halten Sie das Anfragevolumen moderat oder betreiben Sie Ihren eigenen BRouter-Server und setzen Sie BIKEROUTER_HOST.

  • Profile unterscheiden sich je nach Server. list_profiles enthält einen Katalog der Standard-BRouter/BRouter-Web-Profile; übergeben Sie verify: true, um zu prüfen, was ein bestimmter Host tatsächlich ausliefert.

Tests

npm test baut den Server und führt node --test aus:

  • Unit-Tests für URL-Aufbau, Wegpunktvalidierung, .brf-Parameter-Parsing und den GeoJSON-Zusammenfasser

  • ein End-to-End-Test, der MCP über stdio mit der echten Server-Binärdatei gegen einen Stub-BRouter-Host spricht und Routing, GPX-Export, Profilliste und BRouters Klartext-Fehlerantworten abdeckt

Die Tests greifen nie auf den öffentlichen Dienst zu, sodass sie offline laufen.

Danksagungen und Lizenz

Servercode: MIT. Es ist nur ein Client – das Routing erfolgt durch BRouter (MIT) über BRouter-Web / bikerouter.de, auf Kartendaten © OpenStreetMap-Mitwirkende (ODbL).

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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)

View all MCP Connectors

Latest Blog Posts

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