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
- Cursor IDE (o cualquier otro cliente MCP)
- Docker Engine
Instrucciones de configuración
-
Configura el servidor MCP:
{ "mcpServers": { "busnearby-docker": { "command": "docker", "args": ["run", "--rm", "-i", "shmuelc/busnearby-mcp:latest"] } } }
Conectar localmente con Docker
-
Clona este repositorio
-
Navega a la carpeta del repositorio
-
Compila y configura el servidor MCP:
docker build -t busnearby-mcp . -
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
-
Instala las dependencias:
npm install -
Compila el proyecto:
npm run build -
Prueba el servidor MCP:
npm start -
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.
-
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:
- Haz un fork del repositorio
- Crea una rama de características
- Realiza tus cambios
- Prueba exhaustivamente
- Envía una solicitud de extracción
¡Todas las contribuciones son bienvenidas y apreciadas!