Skip to main content
Glama

Transport NSW API Client MCP

Cliente API de Transport NSW (implementación de MCP)

Un MCP de Claude para interactuar con la API de Transport NSW mediante solicitudes HTTP directas.

Acerca de

Este proyecto implementa un servicio de Protocolo de Contexto de Modelo (MCP) para la API de Transport NSW.

Configuración

  1. Clonar este repositorio
  2. Instalar dependencias usando uv (administrador rápido de paquetes de Python):
    uv venv uv sync
  3. Crea un archivo .env con tu clave API:
    OPEN_TRANSPORT_API_KEY=your_api_key_here
  4. (Opcional) Ejecute el Inspector MCP:
    uv run mcp dev api.py
    Y visite el servidor en http://localhost:5173 (el puerto puede ser diferente).

Características

  • API del buscador de paradas : busque paradas de transporte por nombre o coordenadas
  • API de alertas : obtenga información sobre alertas e interrupciones del transporte
  • API de monitorización de salidas : obtenga información de salidas en tiempo real para las paradas de transporte
  • Implementación de MCP : Estructurado como un servicio de protocolo de contexto modelo

Ejemplos de uso

Próximamente, ejemplos de MCP. Ejemplos estándar de Python a continuación:

Encontrar paradas de transporte

from api import find_transport_stops # Search by name stops = find_transport_stops(stop_name="Central Station") # Search by coordinates (Central Station area) central_station = '151.206290:-33.884080:EPSG:4326' stops = find_transport_stops(coord=central_station, radius=500)

Recibir alertas de transporte

from api import get_transport_alerts # Get all current alerts alerts = get_transport_alerts() # Get alerts for a specific date date_alerts = get_transport_alerts(date='22-03-2025') # Get train alerts only (mot_type=1) train_alerts = get_transport_alerts(mot_type=1)

Monitorizar salidas en tiempo real

from api import get_departure_monitor # Get departures from Central Station departures = get_departure_monitor("200060") # Central Station ID # Get departures for a specific time from datetime import datetime time_departures = get_departure_monitor("200060", time="15:30") # Get only train departures train_departures = get_departure_monitor("200060", mot_type=1) # 1 = Train

Guión de demostración

El proyecto incluye un script de demostración completo que muestra toda la funcionalidad de la API:

# Run the full demo python demo.py # Run specific sections python demo.py --stops # Stop finder demo python demo.py --alerts # Transport alerts demo python demo.py --departures # Departure monitoring demo

Pruebas

Pruebas locales

Ejecute el conjunto de pruebas completo con pytest:

uv run pytest

Ejecutar con informes de cobertura:

uv run pytest --cov=api

Integración continua

Las pruebas se ejecutan automáticamente en GitHub Actions para cada solicitud de inserción y extracción a la rama principal. El flujo de trabajo:

  1. Configura Python 3.10
  2. Instala uv y dependencias del proyecto
  3. Ejecuta pruebas con informes de cobertura.

Para utilizar esta función:

  1. Agregue su OPEN_TRANSPORT_API_KEY como un secreto del repositorio de GitHub
  2. Sube tu código a GitHub

Integración MCP

Este proyecto sigue la especificación del Protocolo de Contexto de Modelo, lo que permite que los modelos de IA accedan a los datos de Transport NSW a través de una interfaz estandarizada.

Gestión de paquetes

Este proyecto utiliza uv, un gestor de paquetes de Python moderno escrito en Rust. Las dependencias se gestionan mediante:

  • pyproject.toml : define las dependencias del proyecto
  • uv.lock : bloquea las versiones de dependencia para entornos reproducibles
-
security - not tested
A
license - permissive license
-
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 servicio MCP para interactuar con la API de Transport NSW que permite a los usuarios encontrar paradas de transporte cerca de ubicaciones y recuperar información sobre alertas e interrupciones del transporte.

  1. Acerca de
    1. Configuración
      1. Características
        1. Ejemplos de uso
          1. Encontrar paradas de transporte
          2. Recibir alertas de transporte
          3. Monitorizar salidas en tiempo real
        2. Guión de demostración
          1. Pruebas
            1. Pruebas locales
            2. Integración continua
          2. Integración MCP
            1. Gestión de paquetes

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                This server enables large language models to access and interact with real-time transport alerts from Transport for NSW's network, supporting filtering by transport mode and returning formatted alert information about disruptions and planned works.
                Last updated -
                11
                5
                JavaScript
                MIT License
                • Apple
              • -
                security
                F
                license
                -
                quality
                An MCP Server that enables interaction with Maharashtra's Motor Vehicle Department API, allowing users to access transportation-related services through natural language requests.
                Last updated -
                Python

              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/danhussey/transportnsw-mcp'

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