OpenRoute MCP
Servidor MCP para ayudar a planificar rutas usando OpenRouteService.org, para actividades como senderismo o ciclismo de montaña.
Documentación
🗺️ OpenRoute MCP
Servidor de Model Context Protocol (MCP) para planificar rutas utilizando la API de OpenRouteService, para actividades como senderismo o ciclismo de montaña.
[!CAUTION]
AVISO LEGAL: Las rutas generadas por este servicio se proporcionan únicamente con fines informativos y no se garantiza que sean seguras, legales o adecuadas para el uso previsto. Verifique siempre las rutas de forma independiente utilizando mapas oficiales, autoridades locales y condiciones actuales antes de intentar cualquier viaje. Los usuarios asumen todos los riesgos y responsabilidades por su seguridad y el cumplimiento de las leyes y regulaciones locales.
[!TIP]
Copie el archivo GPX completo devuelto como parte de los resultados de la llamada a la herramienta y utilice un servicio como gpx.studio para cargar el archivo GPX generado en un mapa.
🛠️ Herramientas disponibles
- 📍 Encontrar coordenadas posibles para una ubicación
- Argumentos:
location(string): ubicación para la que se desean obtener coordenadas
- Devuelve: lista de 10 coordenadas con descripción disponible para que el agente pueda determinar la correcta
- Argumentos:
- 🏠 Encontrar ubicaciones posibles (direcciones) para coordenadas dadas.
- Argumentos:
lon(float): Longitud de la ubicaciónlat(float): Latitud de la ubicación
- Devuelve: lista de objetos cercanos a las coordenadas dadas
- Argumentos:
- 🗺️ Crear una ruta desde una ubicación de inicio hasta un destino, opcionalmente con puntos de paso
- Argumentos:
route_type(string): Tipo de ruta, p. ej. "cycling-mountain", "cycling-regular", "foot-hiking", "driving-car"from_coordinates(list[float]): Ubicación de inicio como [longitud, latitud]from_coordinates(list[float]): Ubicación de destino como [longitud, latitud]waypoints(list[list[float]]): lista opcional de coordenadas de puntos de paso como [[lon, lat], ...]
- Devuelve:
- un archivo de recurso que contiene el GPX de la ruta (p. ej.
route://foot-hiking-98.gpx) - un archivo de recurso que contiene una imagen PNG de visualización de la ruta (p. ej.
route://foot-hiking-98.png) - un archivo de recurso que contiene una visualización interactiva HTML de la ruta (p. ej.
ui://foot-hiking-98.html) que se puede abrir directamente con su navegador
- un archivo de recurso que contiene el GPX de la ruta (p. ej.
- Argumentos:
- 📌 Buscar puntos de interés (POIs) en un área
- Argumentos:
bounding_box_coordinates(list[list[float]]): coordenadas que definen un cuadro delimitador como [[min_lon, min_lat], [max_lon, max_lat]]filters_name(list[string]): lista opcional de nombres para filtrar POIs, p. ej. ["Gas station", "Restaurant"]
- Devuelve: información de los POIs encontrados
- Argumentos:
- 🔎 Buscar rutas conocidas cercanas a unas coordenadas de inicio y fin dadas, esto permite sugerir puntos de paso para atravesar senderos conocidos al crear una ruta. Por ahora solo funciona en Suiza gracias a la Confederación Suiza api3.geo.admin.ch 🇨🇭
- Argumentos:
route_type(string): Tipo de ruta, p. ej. "cycling-mountain", "cycling-regular", "foot-hiking", "driving-car"from_coordinates(list[float]): Ubicación de inicio como [longitud, latitud]from_coordinates(list[float]): Ubicación de destino como [longitud, latitud]
- Devuelve: trazado de senderos conocidos y descripción cuando esté disponible para ayudar al agente a construir una buena ruta
- Argumentos:
- ⏱️ Calcula el área que se puede alcanzar en un tiempo determinado o distancia desde uno o más puntos de partida.
-
Argumentos:
coordinates_list: 1 o más coordenadas desde las que calcular el área alcanzable como [[lon, lat], ...]route_type: Tipo de ruta, p. ej. "cycling-mountain", "cycling-regular", "foot-hiking", "driving-car"range_type: Tipo de rango, ya seatime(en segundos) odistance(en metros)area_range: valor máximo de rango del análisis en segundos para tiempo y metros para distancia. O una lista separada por comas de valores de rango específicos
-
Devuelve: información del área alcanzable en formato GeoJSON
-
🗃️ Recursos disponibles
- 🚏 Archivos de ruta
- Patrón de URL:
route://{filename} - Tipo: GPX (
.gpx), HTML (.html) o PNG (.png) - Descripción: Devuelve un archivo de ruta generado previamente por nombre de archivo.
- Producido por: herramienta
create_route_from_to
- Patrón de URL:
🔌 Conectar el cliente al servidor MCP
Siga las instrucciones de su cliente y utilice la URL /mcp de su servidor desplegado (p. ej. http://localhost:8888/mcp)
Por ejemplo, para GitHub Copilot en VSCode, para añadir un nuevo servidor MCP a través de la interfaz de VSCode:
- Abra el chat del panel lateral (
ctrl+shift+iocmd+shift+i) y asegúrese de que el modo esté configurado enAgenten la parte inferior derecha - Abra la paleta de comandos (
ctrl+shift+pocmd+shift+p) y busqueMCP: Open User Configuration, esto abrirá un archivomcp.json
⌨️ Usar transporte stdio
[!IMPORTANT]
Inicie sesión con GitHub en openrouteservice.org y obtenga una clave de API que puede proporcionar a través de la variable de entorno
OPENROUTESERVICE_API_KEY.
OPENROUTESERVICE_API_KEY=YYY uvx openroute-mcp
En el archivo mcp.json de VSCode debería tener:
{
"servers": {
"openroute-mcp": {
"command": "uvx",
"args": [
"openroute-mcp"
],
"env": {
"OPENROUTESERVICE_API_KEY": "YOUR_API_KEY"
}
}
}
}
[!IMPORTANT]
Haga clic en
Startjusto encima de"openroute-mcp"para iniciar la conexión al servidor MCP.Puede hacer clic en el botón de llave y destornillador 🛠️ (
Configure Tools...) para habilitar/deshabilitar herramientas específicas
Detalles completos de las opciones de CLI:
usage: openroute-mcp [-h] [--http] [--port PORT] [--openroute-api OPENROUTE_API] [--openroute-api-key OPENROUTE_API_KEY]
[--data-folder DATA_FOLDER] [--no-save] [--no-img] [--no-html]
A Model Context Protocol (MCP) server for building routes using OpenRouteService.
options:
-h, --help show this help message and exit
--http Use Streamable HTTP transport
--port PORT Port to run the server on
--openroute-api OPENROUTE_API
OpenRouteService API URL (default: https://api.openrouteservice.org)
--openroute-api-key OPENROUTE_API_KEY
OpenRouteService API key (default: taken from env var OPENROUTESERVICE_API_KEY)
--data-folder DATA_FOLDER
Folder to save generated routes
--no-save Don't save generated routes to disk (also disable image and HTML generation)
--no-img Do not add PNG image visualization of the routes to the response (image not supported by all LLMs)
--no-html Do not add HTML interactive map for routes to the response
🧑💻 Desarrollo
Consulte la página CONTRIBUTING.md para obtener más detalles sobre cómo ejecutar en desarrollo y contribuir.