Bus Nearby MCP

Proporciona acceso a la API de transporte israelí para geocodificación y direcciones de tránsito.

Documentación

Bus Nearby MCP (MCP de transporte israelí).

Un servidor de Model Context Protocol (MCP) que proporciona acceso a la API de transporte israelí.
Este es el MCP no oficial de la API de Bus Nearby, Puedes consultar esta API aquí

Características

https://github.com/user-attachments/assets/147ee388-e9c0-4f97-82e7-71d4d6534de0

  • 🚍 Geocodificación: Convierte consultas de ubicación en coordenadas geográficas
  • 🗺️ Indicaciones: Obtén indicaciones de tránsito entre ubicaciones
  • 🌐 Multilingüe: Soporte para hebreo e inglés
  • 🔌 Protocolo MCP: Implementación estándar de servidor MCP
  • 📦 Soporte Docker: Implementación fácil con Docker

Inicio rápido con Docker + Cursor

Requisitos previos

Instrucciones de configuración

  1. Configura el servidor MCP:

    {
      "mcpServers": {
        "busnearby-docker": {
          "command": "docker",
          "args": ["run", "--rm", "-i", "shmuelc/busnearby-mcp:latest"]
        }
      }
    }
    

Conectar localmente con Docker

  1. Clona este repositorio

  2. Navega a la carpeta del repositorio

  3. Compila y configura el servidor MCP:

    docker build -t busnearby-mcp .
    
  4. Añade esto a mcp.json

    {
      "mcpServers": {
        "busnearby": {
          "command": "docker",
          "args": [
            "run",
            "--rm",
            "-i",
            "--name",
            "busnearby-mcp-cursor",
            "busnearby-mcp"
          ],
          "env": {}
        }
      }
    }
    

Conectar localmente sin Docker

Requisitos previos

  • Node.js 18+ instalado
  • npm o yarn
  • Cursor IDE

Instrucciones de configuración

  1. Instala las dependencias:

    npm install
    
  2. Compila el proyecto:

    npm run build
    
  3. Prueba el servidor MCP:

    npm start
    
  4. Añade a tu configuración MCP de Cursor:

    {
      "mcpServers": {
        "busnearby": {
          "command": "node",
          "args": ["/Users/shmuel/Desktop/personal/busnearby-mcp/dist/main.js"],
          "env": {}
        }
      }
    }
    

    Importante: Reemplaza la ruta con la ruta real de tu proyecto.

  5. Reinicia Cursor para cargar el nuevo servidor MCP

Herramientas disponibles

geocode

Convierte consultas de ubicación en coordenadas.

Parámetros:

  • locale: "he" o "en" (hebreo o inglés)
  • query: Cadena de ubicación (p. ej., "תל אביב" o "Tel Aviv")

Ejemplo:

{
  "locale": "he",
  "query": "תל אביב"
}

directions

Obtén indicaciones de tránsito entre ubicaciones.

Parámetros:

  • fromPlace: Ubicación inicial ("address::lat,lng")
  • toPlace: Destino ("address::lat,lng")
  • locale: "he" o "en" (predeterminado: "he")
  • arriveBy: Optimizar para hora de llegada (predeterminado: false)
  • wheelchair: Accesible para silla de ruedas (predeterminado: false)
  • mode: Modos de transporte (predeterminado: "WALK,TRANSIT")
  • numItineraries: Número de rutas (predeterminado: 3)
  • date: Fecha del viaje (AAAA-MM-DD, opcional)
  • time: Hora del viaje (HH:MM, opcional)

Comandos de Docker

# Build the image
docker build -t busnearby-mcp .

# Run with docker-compose
docker-compose up -d

# Run interactively for testing
docker run --rm -i busnearby-mcp

# Test MCP protocol
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{"tools":{}},"clientInfo":{"name":"test","version":"1.0.0"}}}' | docker run --rm -i busnearby-mcp

Desarrollo

Desarrollo local

npm install
npm run dev

Compilar y probar

npm run build
npm start
npm run test:e2e

Solución de problemas

Problemas con Docker

  • Asegúrate de que Docker esté en ejecución
  • Intenta recompilar: docker build --no-cache -t busnearby-mcp .
  • Revisa los registros: docker logs busnearby-mcp

Problemas de conexión con Cursor

  • Reinicia Cursor después de cambios de configuración
  • Verifica que la ruta de configuración de MCP sea correcta
  • Verifica que la imagen de Docker exista: docker images | grep busnearby-mcp

Problemas con el protocolo MCP

  • Prueba el servidor directamente: echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{"tools":{}},"clientInfo":{"name":"test","version":"1.0.0"}}}' | docker run --rm -i busnearby-mcp
  • Verifica el formato JSON-RPC en las respuestas

Referencia de la API

Este servidor MCP interactúa con la API de Bus Nearby para proporcionar:

  • Geocodificación de ubicaciones en varios idiomas
  • Enrutamiento de tránsito multimodal
  • Información de horarios en tiempo real
  • Funciones de accesibilidad

Todas las respuestas siguen el formato estándar del protocolo MCP con un manejo adecuado de errores.

Contribuciones

No dudes en:

  • 🐛 Reportar errores o problemas
  • 💡 Sugerir nuevas funciones o mejoras
  • 📖 Mejorar la documentación
  • 🔧 Enviar solicitudes de extracción (pull requests)

Para comenzar:

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Realiza tus cambios
  4. Prueba exhaustivamente
  5. Envía una solicitud de extracción

¡Todas las contribuciones son bienvenidas y apreciadas!