Bus Nearby MCP
Fornece acesso à API de transporte israelense para geocodificação e direções de trânsito.
Documentação
Bus Nearby MCP (MCP de transporte israelense).
Um servidor Model Context Protocol (MCP) que fornece acesso à API de transporte israelense.
Este é o MCP não oficial da API Bus Nearby, Você pode verificar esta API aqui
Recursos
https://github.com/user-attachments/assets/147ee388-e9c0-4f97-82e7-71d4d6534de0
- 🚍 Geocodificação: Converta consultas de localização em coordenadas geográficas
- 🗺️ Rotas: Obtenha rotas de trânsito entre locais
- 🌐 Multilíngue: Suporte para hebraico e inglês
- 🔌 Protocolo MCP: Implementação padrão de servidor MCP
- 📦 Suporte a Docker: Implantação fácil com Docker
Início Rápido com Docker + Cursor
Pré-requisitos
- IDE Cursor (ou qualquer outro cliente MCP)
- Docker Engine
Instruções de Configuração
-
Configure o servidor MCP:
{ "mcpServers": { "busnearby-docker": { "command": "docker", "args": ["run", "--rm", "-i", "shmuelc/busnearby-mcp:latest"] } } }
Conecte localmente com Docker
-
Clone este repositório
-
Navegue até a pasta do repositório
-
Compile e configure o servidor MCP:
docker build -t busnearby-mcp . -
Adicione isto ao mcp.json
{ "mcpServers": { "busnearby": { "command": "docker", "args": [ "run", "--rm", "-i", "--name", "busnearby-mcp-cursor", "busnearby-mcp" ], "env": {} } } }
Conecte localmente sem Docker
Pré-requisitos
- Node.js 18+ instalado
- npm ou yarn
- IDE Cursor
Instruções de Configuração
-
Instale as dependências:
npm install -
Compile o projeto:
npm run build -
Teste o servidor MCP:
npm start -
Adicione à sua configuração MCP do Cursor:
{ "mcpServers": { "busnearby": { "command": "node", "args": ["/Users/shmuel/Desktop/personal/busnearby-mcp/dist/main.js"], "env": {} } } }Importante: Substitua o caminho pelo caminho real do seu projeto.
-
Reinicie o Cursor para carregar o novo servidor MCP
Ferramentas Disponíveis
geocode
Converta consultas de localização em coordenadas.
Parâmetros:
locale: "he" ou "en" (hebraico ou inglês)query: String de localização (ex.: "תל אביב" ou "Tel Aviv")
Exemplo:
{
"locale": "he",
"query": "תל אביב"
}
directions
Obtenha rotas de trânsito entre locais.
Parâmetros:
fromPlace: Local de partida ("address::lat,lng")toPlace: Destino ("address::lat,lng")locale: "he" ou "en" (padrão: "he")arriveBy: Otimizar para horário de chegada (padrão: false)wheelchair: Acessível para cadeira de rodas (padrão: false)mode: Modos de transporte (padrão: "WALK,TRANSIT")numItineraries: Número de rotas (padrão: 3)date: Data da viagem (AAAA-MM-DD, opcional)time: Hora da viagem (HH:MM, opcional)
Comandos 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
Desenvolvimento
Desenvolvimento Local
npm install
npm run dev
Compilar e Testar
npm run build
npm start
npm run test:e2e
Solução de Problemas
Problemas com Docker
- Certifique-se de que o Docker está em execução
- Tente recompilar:
docker build --no-cache -t busnearby-mcp . - Verifique os logs:
docker logs busnearby-mcp
Problemas de Conexão com o Cursor
- Reinicie o Cursor após alterações de configuração
- Verifique se o caminho da configuração MCP está correto
- Verifique se a imagem Docker existe:
docker images | grep busnearby-mcp
Problemas com o Protocolo MCP
- Teste o servidor diretamente:
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 - Verifique o formato JSON-RPC nas respostas
Referência da API
Este servidor MCP interage com a API Bus Nearby para fornecer:
- Geocodificação de localização em vários idiomas
- Roteamento de trânsito multimodal
- Informações de horários em tempo real
- Recursos de acessibilidade
Todas as respostas seguem a formatação padrão do protocolo MCP com tratamento adequado de erros.
Contribuindo
Sinta-se à vontade para:
- 🐛 Relatar bugs ou problemas
- 💡 Sugerir novos recursos ou melhorias
- 📖 Melhorar a documentação
- 🔧 Enviar pull requests
Começando:
- Faça um fork do repositório
- Crie um branch de recurso
- Faça suas alterações
- Teste minuciosamente
- Envie um pull request
Todas as contribuições são bem-vindas e apreciadas!