Skip to main content
Glama
mirodn

mcp-server-public-transport

mcp-server-public-transport

Un servidor MCP que proporciona datos de transporte público en tiempo real en toda Europa.

Acerca de

mcp-server-public-transport es un servidor local compatible con el Protocolo de Contexto de Modelo (MCP) que proporciona acceso a datos de transporte público en toda Europa. Actualmente, integra APIs del Reino Unido, Suiza, Noruega, Bélgica y Berlín/Brandeburgo, lo que le permite recuperar conexiones de tren, salidas en vivo y ubicaciones de autobuses.

Related MCP server: Berlin Transport MCP Server

Estado de implementación de funciones

Países admitidos

País

URL base de la API

Estado

Reino Unido

https://transportapi.com

Suiza

https://transport.opendata.ch

Bélgica

https://api.irail.be

Noruega

https://api.entur.io

Berlín/Brandeburgo

https://v6.vbb.transport.rest

Funciones por país

Función

Ruta de la API

Estado

Reino Unido

Salidas en vivo

/uk/train/station_timetables/{station_code}.json

Suiza

Buscar conexiones

/connections

Búsqueda de estaciones

/locations

Panel de salidas

/stationboard

Estaciones cercanas

/locations?x={lon}&y={lat}

Bélgica

Salidas en vivo

/departures

Búsqueda de estaciones

/stations

Estaciones cercanas

/stations/nearby

Noruega

Búsqueda de lugares

/geocoder/v1/autocomplete

Salidas en vivo

GraphQL: stopPlace(id) { estimatedCalls(...) }

Planificación de viajes

GraphQL: trip(from, to, dateTime, numTripPatterns, ...)

Paradas más cercanas

GraphQL: nearest(latitude, longitude, maximumDistance, ...)

Berlín/Brandeburgo

Búsqueda de ubicación

/locations

Salidas en vivo

/stops/:id/departures

Llegadas en vivo

/stops/:id/arrivals

Planificación de viajes

/journeys

Estaciones cercanas

/locations/nearby

Configuración

Variables de entorno

Establezca las siguientes variables de entorno:

UK_TRANSPORT_APP_ID=your_uk_app_id
UK_TRANSPORT_API_KEY=your_uk_api_key

Uso con Claude Desktop

Añada a su claude_desktop_config.json`:

{
  "mcpServers": {
    "mcp-server-public-transport": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/mcp-server-public-transport",
        "run",
        "server.py"
      ],
      "env": {
        "UK_TRANSPORT_APP_ID": "your-uk-app-id",
        "UK_TRANSPORT_API_KEY": "your-uk-api-key"
      }
    }
  }
}

Reemplace /ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-server-public-transport con la ruta real donde ha clonado el repositorio.

Nota: Es posible que deba poner la ruta completa al ejecutable uv en el campo de comando. Puede obtenerla ejecutando which uv en MacOS/Linux o where uv en Windows.

Desarrollo

Configuración del entorno de desarrollo

  1. Clonar el repositorio

git clone https://github.com/mirodn/mcp-server-public-transport.git
cd mcp-server-public-transport
  1. Instalar dependencias

uv sync
  1. Establecer variables de entorno

cp .env.example .env
  1. Ejecutar el servidor

uv run server.py

Ejecución de pruebas

El proyecto utiliza pytest para realizar pruebas con los siguientes comandos disponibles:

# Run all tests
make test

Calidad del código

# Run linting
make lint

# Run code formatting
make format

Integración continua

El proyecto incluye un flujo de trabajo de GitHub Actions (.github/workflows/test.yml) que automáticamente:

  • Ejecuta pruebas en Python 3.10, 3.11 y 3.12

  • Ejecuta comprobaciones de linting usando ruff

  • Se ejecuta en cada push y pull request a la rama main

La canalización de CI garantiza la calidad del código y la compatibilidad entre las versiones de Python admitidas antes de que se fusionen los cambios.

Contribución

¡Las contribuciones son bienvenidas! Por favor, siéntase libre de enviar un Pull Request.

El paquete se despliega automáticamente en PyPI cuando se actualiza project.version en pyproject.toml. Siga semver para el versionado.

Licencia

Licencia MIT

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/mirodn/mcp-server-public-transport'

If you have feedback or need assistance with the MCP directory API, please join our Discord server