Skip to main content
Glama
mzorz

bikerouter-mcp

by mzorz

bikerouter-mcp

Сервер MCP, который прокладывает веломаршруты с помощью bikerouter.de — веб-интерфейса BRouter-Web от Норберта Реннера на основе движка BRouter Арндта Бреншеде, маршрутизация по данным OpenStreetMap.

Направьте на него любой MCP-клиент (Claude Code, Claude Desktop, …) и спрашивайте что-то вроде «построй гравийный маршрут из Кёльна в Бонн вдоль Рейна и дай мне GPX».

Что он умеет

Tool

Purpose

plan_route

Прокладывает маршрут через 2+ точки (координаты или названия мест) и возвращает расстояние, подъём/спуск, расчётное время в пути, разбивку по покрытию и типу дорог, поворотные подсказки, ссылку для публикации на bikerouter.de и, опционально, сохранённый файл GPX/GeoJSON/KML/CSV.

compare_profiles

Прокладывает маршрут по одним и тем же точкам с несколькими профилями (например, trekking против gravel против fastbike) и сравнивает расстояние, время, набор высоты и долю асфальта бок о бок.

geocode_place

Преобразует название места, адрес или POI в координаты (через Photon — геокодер, который использует bikerouter.de).

list_profiles

Перечисляет известные профили маршрутизации, опционально проверяя, какие из них реально обслуживает хост маршрутизации.

get_profile_options

Читает исходник профиля .brf и перечисляет параметры, которые он предоставляет (avoid_unsafe, allow_ferries, totalMass, bikerPower, …) для использования с profile_options из plan_route.

Пример вывода 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

Установка

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

Зарегистрируйте его в Claude Code:

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

или добавьте его в claude_desktop_config.json / любой другой MCP-клиент:

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

API-ключ не нужен — сервис бесплатный и не требует аутентификации.

Конфигурация

Всё опционально, задаётся через переменные окружения:

Variable

Default

Meaning

BIKEROUTER_HOST

https://brouter.de

Хост, обслуживающий конечную точку маршрутизации BRouter /brouter. bikerouter.de — это только веб-интерфейс и здесь отдаёт 404, поэтому по умолчанию используется brouter.de. Укажите http://localhost:17777, чтобы использовать собственный сервер BRouter.

BIKEROUTER_WEB_URL

https://bikerouter.de

Веб-интерфейс, используемый для публикуемых ссылок на карты.

BIKEROUTER_PROFILES_URL

<host>/brouter/profiles2/, затем <host>/profiles/, затем <web>/profiles/

Где находятся исходники профилей .brf (используется get_profile_options).

BIKEROUTER_GEOCODER_URL

https://photon.komoot.io/api

Геокодер, совместимый с Photon.

BIKEROUTER_DEFAULT_PROFILE

trekking

Профиль, используемый, когда вызывающий не указал его.

BIKEROUTER_TIMEOUT_MS

60000

Тайм-аут HTTP. Длинные маршруты могут занимать время.

BIKEROUTER_USER_AGENT

bikerouter-mcp/0.1.0

Отправляется с каждым запросом.

Как это соотносится с API BRouter

Запросы — это обычные вызовы GET /brouter, точно как описано в ServerHandler.java из BRouter:

/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 (названия мест сначала геокодируются с учётом предыдущей точки)

  • avoid_areasnogos (опустите weight для жёсткого запрета)

  • straight_fromstraight (прямые отрезки)

  • profile_optionsprofile:NAME=VALUE

  • alternative_indexalternativeidx (1–3 для альтернативных маршрутов)

  • turn_instructionstimode (голосовые подсказки в ответе GeoJSON)

Ответ GeoJSON сводится локально: длина трека, filtered ascend, total-time и total-energy берутся из свойств трека, спуск вычисляется из фильтрованного подъёма и суммарного изменения высоты, а разбивка по покрытию / типу дорог / гладкости агрегируется из таблицы messages (WayTags, взвешенные по Distance).

Ограничения, о которых стоит знать

  • Качество маршрутизации — это качество OpenStreetMap. Отсутствующие теги покрытия или доступа приводят к странным объездам; всегда проверяйте маршрут по возвращённой ссылке на карту перед поездкой.

  • В BRouter нет названий улиц, поэтому поворотные подсказки выглядят как «через 1,2 км поверните направо» без названия дороги. Это свойство движка, а не этого сервера.

  • Расчётное время в пути берётся из физической модели профиля (масса велосипедиста, мощность, сопротивление). Переопределите totalMass, bikerPower, maxSpeed через profile_options для реалистичной оценки.

  • Высоты требуют покрытия SRTM; выше ~60°N/S трек возвращается без высот, и сводка сообщает об этом.

  • Публичный сервис — это бесплатный экземпляр, поддерживаемый сообществом — соблюдайте умеренность в количестве запросов или запустите собственный сервер BRouter и укажите BIKEROUTER_HOST.

  • Профили различаются от сервера к серверу. list_profiles поставляется с каталогом стандартных профилей BRouter/BRouter-Web; передайте verify: true, чтобы проверить, что реально обслуживает данный хост.

Тесты

npm test собирает сервер и запускает node --test:

  • модульные тесты для построения URL, проверки путевых точек, разбора параметров .brf и суммаризатора GeoJSON

  • сквозной тест, который общается по MCP через stdio с реальным бинарником сервера против заглушки хоста BRouter, покрывая маршрутизацию, экспорт GPX, список профилей и текстовые ответы об ошибках BRouter

Тесты никогда не обращаются к публичному сервису, поэтому они работают офлайн.

Авторство и лицензия

Код сервера: MIT. Это только клиент — маршрутизацию выполняет BRouter (MIT) через BRouter-Web / bikerouter.de, на данных карт © OpenStreetMap contributors (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