Skip to main content
Glama

SNCF API MCP Server

by Kryzo

Servidor MCP de la API de SNCF

Este proyecto proporciona un contenedor Python modular para la API de SNCF, con una interfaz de servidor MCP que se integra perfectamente con Claude Desktop para la planificación inteligente de viajes y la recuperación de información de trenes en toda Francia.

Tabla de contenido

Descripción general

El servidor MCP de SNCF proporciona una interfaz completa para los servicios API de los Ferrocarriles Nacionales Franceses (SNCF), lo que le permite:

  • Planifique viajes en tren entre ciudades de Francia
  • Obtenga información detallada sobre las estaciones de tren
  • Consultar horarios de salidas y llegadas
  • Monitorear las interrupciones del servicio
  • Encuentra lugares cercanos y opciones de transporte

La estructura está organizada de la siguiente manera:

  • sncf_api/ - El paquete principal para la interacción con la API de SNCF
    • __init__.py - Inicialización del paquete
    • config.py - Ajustes de configuración
    • client.py - Cliente de API base
    • api.py - Interfaz API principal que combina todos los módulos
    • search.py - Puntos finales relacionados con la búsqueda
    • journey.py - Puntos finales de planificación de viajes
    • stations.py - Puntos finales relacionados con la estación
    • networks.py - Puntos finales de red y modo de transporte
    • disruptions.py - Puntos finales relacionados con interrupciones
    • station_finder.py - Búsqueda eficiente de estaciones por coordenadas
    • csv_station_finder.py - Búsqueda de estaciones mediante una base de datos CSV
    • vehicle_journey.py - Información detallada del viaje en tren
  • sncf_server.py : implementación del servidor MCP con todos los puntos finales de la herramienta
  • train_stations_europe.csv - Base de datos de estaciones de tren europeas con coordenadas

Características

  • Planificación inteligente de viajes : planifique viajes entre cualquier ciudad de Francia con selección automática de estaciones
  • Detalles completos de la estación : obtenga información detallada sobre las estaciones, incluyendo:
    • Tipos de transporte disponibles (trenes, autobuses, tranvías)
    • Lugares y puntos de interés cercanos
    • Información de coordenadas y accesibilidad
  • Horarios en tiempo real : acceda a información actualizada de salidas y llegadas
  • Monitoreo de interrupciones : Manténgase informado sobre las interrupciones del servicio
  • Búsqueda inteligente de estaciones : localice estaciones por nombre de ciudad, nombre de estación o coordenadas
  • Mecanismos de respaldo : las coordenadas codificadas para las principales ciudades garantizan la confiabilidad incluso cuando fallan las búsquedas de API
  • Registro detallado : registro completo para depuración y supervisión

Instalación

Prerrequisitos

  • Python 3.6+
  • pip (administrador de paquetes de Python)

Paso 1: Clonar el repositorio

git clone https://github.com/yourusername/sncf-mcp-new.git cd sncf-mcp-new

Paso 2: Instalar dependencias

pip install -r requirements.txt

Si falta el archivo requirements.txt, instale los siguientes paquetes: requests mcp

pip install requests pandas mcp

Obtener una clave API

Antes de utilizar este servidor, debe obtener una clave API de SNCF:

  1. Visita el portal API de la SNCF
  2. Crea una cuenta o inicia sesión
  3. Suscríbete al servicio API de "Navitia"
  4. Completar el proceso de registro
  5. Una vez aprobado, recibirás tu clave API en el panel de tu cuenta.

La clave API parece una cadena UUID (por ejemplo, 01293485-3NS3-3242-23AZ-3241324512 ).

Configuración

Configuración de Claude Desktop

Para integrar las herramientas MCP de SNCF con Claude Desktop:

  1. Instale Claude Desktop si aún no lo ha hecho
  2. Abrir la configuración del escritorio de Claude :
    • Vaya a la configuración de Claude Desktop
    • Abra el archivo de configuración (generalmente ubicado en %APPDATA%\Claude\claude_desktop_config.json )
{ "sncf": { "command": "py", "args": [ "c:\\Users\\ChristianELHAJJ\\sncf-mcp-new\\sncf_server.py", "--api-key={YOUR-API-KEY}" ], "cwd": "c:\\Users\\ChristianELHAJJ\\sncf-mcp-new" },

Reemplace path/to/sncf-mcp-new con la ruta real a su directorio de instalación.

  1. Guarde el archivo de configuración y reinicie Claude Desktop

Herramientas MCP disponibles

Una vez configurado, las siguientes herramientas estarán disponibles en Claude Desktop:

Planificación de viajes

plan_journey_by_city_names

Planifique un viaje entre dos ciudades de Francia.

Parámetros:

  • from_city : Nombre de la ciudad de salida (p. ej., "París")
  • to_city : Nombre de la ciudad de destino (p. ej., "Marsella")
  • datetime : Hora de salida o llegada opcional (formato: AAAAMMDDTHHMMSS)
  • datetime_represents : "salida" o "llegada" (predeterminado: "salida")
  • include_station_details : si se debe incluir información detallada de la estación

Ejemplo de mensaje para Claude:

Plan a train journey from Paris to Lyon tomorrow morning at 8 AM.

Información de la estación

get_station_details

Obtenga detalles completos sobre las estaciones de tren de una ciudad.

Parámetros:

  • city_name : Nombre de la ciudad donde buscar estaciones
  • station_name : Nombre de estación específico opcional
  • station_id : ID de estación directa opcional
  • include_transport_types : Si se debe incluir el análisis del tipo de transporte
  • include_nearby_places : Si se debe incluir información de lugares cercanos
  • nearby_distance : Radio de búsqueda en metros para lugares cercanos
  • nearby_count : Número máximo de lugares cercanos para regresar

Ejemplo de mensaje para Claude:

What transport options are available at the main train station in Grenoble?
get_station_schedule

Obtenga los horarios de salida y llegada de una estación.

Parámetros:

  • city_name : Nombre de la ciudad donde buscar estaciones
  • station_name : Nombre de estación específico opcional
  • station_id : ID de estación directa opcional
  • count : Número de salidas/llegadas para regresar
  • datetime : Fecha y hora opcional desde la que comenzar
  • duration : Duración opcional en segundos
  • data_freshness : Nivel de frescura de los datos (tiempo real o base_schedule)

Ejemplo de mensaje para Claude:

Show me the next 5 train departures from Paris Gare de Lyon.

Monitoreo de interrupciones

check_disruptions

Consulte las interrupciones actuales en la red de transporte de la SNCF.

Parámetros:

  • coverage : El área de cobertura (predeterminado: "sncf")
  • count : Número máximo de interrupciones para regresar
  • station_id : Filtro opcional para una estación específica
  • line_id : Filtro opcional para una línea específica
  • since : Solo interrupciones válidas después de esta fecha
  • until : Solo interrupciones válidas antes de esta fecha
  • fetch_train_details : si se deben obtener detalles adicionales sobre los trenes afectados

Ejemplo de mensaje para Claude:

Are there any current disruptions affecting trains to Marseille?

Ejemplos de uso

Planificar un viaje

Puedes pedirle a Claude que planifique un viaje entre dos ciudades de Francia:

I need to travel from Paris to Nice next Friday at 2 PM. Can you find me a train?

Claude utilizará la herramienta plan_journey_by_city_names para:

  1. Encuentra las principales estaciones en ambas ciudades
  2. Planifique el viaje óptimo entre ellos
  3. Presentarle horarios de salida/llegada, duraciones y detalles de conexión.

Obtener información de la estación

Para obtener información detallada sobre una estación:

What facilities and transport options are available at Gare de Lyon in Paris?

Claude utilizará la herramienta get_station_details para proporcionar:

  1. Información básica de la estación (nombre, ID, coordenadas)
  2. Tipos de transporte disponibles (trenes, autobuses, tranvías)
  3. Lugares y puntos de interés cercanos

Consulta de horarios de trenes

Para consultar las próximas salidas o llegadas:

When are the next trains leaving from Bordeaux to Paris today?

Claude usará la herramienta get_station_schedule para mostrar:

  1. Próximas salidas desde Burdeos
  2. Información de destino
  3. Detalles de la plataforma cuando estén disponibles
  4. Actualizaciones de estado en tiempo real

Monitoreo de interrupciones

Para comprobar si hay interrupciones del servicio:

Are there any disruptions affecting the Paris to Lyon route today?

Claude utilizará la herramienta check_disruptions para:

  1. Encuentra disrupciones relevantes
  2. Explicar el impacto en los servicios
  3. Proporcionar detalles adicionales sobre los trenes afectados

Solución de problemas

Problemas comunes

"No se proporcionó ninguna clave API"
  • Asegúrese de haber agregado su clave API SNCF a la configuración de Claude Desktop
  • Compruebe que la variable de entorno esté referenciada correctamente en la configuración del servidor MCP
No se encontraron estaciones para esta ciudad
  • Intente utilizar un nombre de ciudad más específico
  • Para ciudades más pequeñas, intente usar el nombre de una ciudad más grande cercana.
  • El sistema tiene coordenadas codificadas para las principales ciudades francesas, lo que debería funcionar de manera confiable.
"Error al conectar con la API de SNCF"
  • Comprueba tu conexión a Internet
  • Verifique que su clave API sea válida y no esté vencida
  • Es posible que la API de SNCF esté experimentando un tiempo de inactividad; inténtelo de nuevo más tarde
"Error al inicializar el buscador de estaciones CSV"
  • Asegúrese de que el archivo train_stations_europe.csv esté en la ubicación correcta
  • Verifique los permisos del archivo para asegurarse de que el archivo sea legible

Funciones avanzadas

Coordenadas codificadas

El sistema incluye coordenadas codificadas para las principales ciudades francesas para garantizar la confiabilidad incluso cuando falla la búsqueda API:

  • París (48.853, 2.348)
  • Marsella (43.303, 5.380)
  • Lyon (45.760, 4.860)
  • Toulouse (43.611, 1.454)
  • Niza (43.704, 7.262)
  • Nantes (47.217, -1.542)
  • Estrasburgo (48.585, 7.735)
  • Burdeos (44.826, -0.556)
  • Lille (50.638, 3.072)
  • Rennes (48.103, -1.672)
  • Grenoble (45.192, 5.716)

Análisis del tipo de transporte

La herramienta get_station_details puede analizar y categorizar los tipos de transporte disponibles en una estación:

  • Trenes de larga distancia (TGV, Intercités)
  • Trenes regionales (TER)
  • Transporte local (autobuses, tranvías, metros)
  • Otros servicios (taxis, bicicletas compartidas)

Búsqueda de lugares cercanos

La herramienta de detalles de la estación puede encontrar puntos de interés cerca de una estación:

  • Otras paradas de transporte
  • Instalaciones públicas
  • Puntos de interés
  • Puntos de dirección

Esta función es especialmente útil para los viajeros que planean su próximo viaje desde una estación.


Contribuyendo

¡Agradecemos cualquier contribución para mejorar el servidor MCP de la SNCF! No dude en enviar solicitudes de incorporación de cambios o abrir incidencias para solucionar errores y solicitar nuevas funciones.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Expresiones de gratitud

  • SNCF por proporcionar la API
  • El equipo de Navitia por su API integral de transporte público
  • Claude AI para capacidades de integración inteligente

Creado por Christian delage ( dr.christian.delage@gmail.com )

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un contenedor modular de Python para la API de SNCF que se integra con Claude Desktop, lo que permite la planificación inteligente de viajes y la recuperación de información de trenes en toda la red ferroviaria de Francia.

  1. Tabla de contenido
    1. Descripción general
      1. Características
        1. Instalación
          1. Prerrequisitos
          2. Paso 1: Clonar el repositorio
          3. Paso 2: Instalar dependencias
        2. Obtener una clave API
          1. Configuración
            1. Configuración de Claude Desktop
          2. Herramientas MCP disponibles
            1. Planificación de viajes
            2. Información de la estación
            3. Monitoreo de interrupciones
          3. Ejemplos de uso
            1. Planificar un viaje
            2. Obtener información de la estación
            3. Consulta de horarios de trenes
            4. Monitoreo de interrupciones
          4. Solución de problemas
            1. Problemas comunes
          5. Funciones avanzadas
            1. Coordenadas codificadas
            2. Análisis del tipo de transporte
            3. Búsqueda de lugares cercanos
          6. Contribuyendo
            1. Licencia
              1. Expresiones de gratitud

                Related MCP Servers

                • -
                  security
                  A
                  license
                  -
                  quality
                  Enables searching and retrieving detailed flight information using the Duffel API, supporting various flight types and flexible search parameters for efficient travel planning.
                  Last updated -
                  45
                  Python
                  MIT License
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  Let Claude and Cursor manage your Railway infrastructure through natural language. Deploy, configure, and monitor - autonomously and safely.
                  Last updated -
                  36
                  22
                  10
                  TypeScript
                  MIT License
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  Connects Claude Desktop directly to databases, allowing it to explore database structures, write SQL queries, analyze datasets, and create reports through an API layer with tools for table exploration and query execution.
                  Last updated -
                  210
                  Python
                  Mozilla Public License 2.0
                  • Apple
                • A
                  security
                  F
                  license
                  A
                  quality
                  A server that enables Claude Desktop users to access the Claude API directly, allowing them to bypass Professional Plan limitations and use advanced features like custom system prompts and conversation management.
                  Last updated -
                  1
                  5
                  Python
                  • Apple

                View all related MCP servers

                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/Kryzo/mcp-sncf'

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