Сервер MCP BMTC в Бангалоре
Реализация сервера Model Context Protocol (MCP) для автобусных служб Bangalore Metropolitan Transport Corporation (BMTC).
Архитектура
Сервер BMTC MCP следует модульной, многоуровневой архитектуре. Система разработана для обработки транзитных данных в реальном времени от автобусов Bangalore Metropolitan Transport Corporation и предоставления их через стандартизированный API.
Основные компоненты
- Уровень API : конечные точки RESTful для аутентификации, маршрутов, остановок, местоположений автобусов и информации об ожидаемом времени прибытия
- Уровень обслуживания : бизнес-логика, преобразование данных и расчеты расчетного времени прибытия
- Уровень доступа к данным : интеграция MongoDB через Mongoose ODM
- Уровень кэширования : кэширование на основе Redis для повышения производительности
- Внешний уровень интеграции : интеграция API BMTC
Прочитайте полную документацию по архитектуре
Функции
Вот список того, что вы можете найти с помощью MCP Client или окна чата:
- Отслеживание местонахождения автобуса в режиме реального времени
- Информация о маршруте и расписание
- Информация об остановках и расчетное время прибытия
- Поддержка более 2200 автобусных маршрутов и более 8400 автобусных остановок в Бангалоре
- Аутентификация и авторизация
- Кэширование и оптимизация данных
- Геопространственные запросы на ближайшие остановки и автобусы
Предпосылки
- Node.js (v14 или более поздняя версия)
- npm или пряжа
- MongoDB
- Redis (опционально, для кэширования)
- Гит
Установка и настройка
Метод 1: Стандартная установка
- Клонировать репозиторий
- Установить зависимости
- Настройте переменные среды
Отредактируйте файл .env
в соответствии со своей конфигурацией:
- Заполнить базу данных фиктивными данными (необязательно)
- Запустить сервер
Для разработки с автоматическим перезапуском:
Метод 2: Использование Docker Compose
- Клонировать репозиторий
- Настройте переменные среды (необязательно)
Вы можете изменить переменные среды непосредственно в файле docker-compose.yml
или создать файл .env
:
- Постройте и запустите контейнеры
Это запустит три контейнера:
bmtc-mcp-api
: сервер API Node.jsbmtc-mcp-mongo
: База данных MongoDBbmtc-mcp-redis
: сервер кэширования Redis
- Заполнить базу данных фиктивными данными (необязательно)
- Посмотреть журналы
- Остановите контейнеры.
Чтобы удалить также и тома:
Использование API
После запуска сервера вы сможете получить доступ к API по адресу:
Документацию по API можно найти на сайте:
Примеры конечных точек API
API-ключи
JWT-секрет
Секрет JWT используется для подписи токенов аутентификации. Сгенерируйте безопасную случайную строку:
Добавьте это в ваш файл .env
:
API-ключ BMTC
Для разработки вы можете использовать фиктивные данные без фактического ключа API BMTC:
Для производства вам необходимо связаться с BMTC напрямую, чтобы запросить официальный доступ к API.
Разработка
Тестирование
Запустите тесты:
Запустите тесты с покрытием:
Линтинг
Проверьте стиль кода:
Исправление проблем со стилем кода:
Структура проекта
Внося вклад
Подробную информацию о нашем кодексе поведения и процессе подачи запросов на включение изменений см. на сайте CONTRIBUTING.md.
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
Благодарности
This server cannot be installed
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.
Предоставляет доступ в режиме реального времени к информации об общественном транспорте Бангалора, включая отслеживание движения автобусов, расписания, маршруты и обновления услуг для улучшения обслуживания пассажиров.
Related MCP Servers
- AsecurityFlicenseAqualityEnables Large Language Models to access real-time data on Vilnius public transport stops and routes through the Model Context Protocol.Last updated -21Python
- AsecurityFlicenseAqualityFacilitates real-time access to Singapore's Land Transport Authority (LTA) transportation data, offering insights into bus arrivals, train services, traffic conditions, and more through integration with the LTA DataMall API.Last updated -7JavaScript
- -securityAlicense-qualityThis 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 -115JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that provides real-time access to Hong Kong's KMB and Long Win Bus route information and arrival times, enabling Language Models to answer user questions about bus routes, stops, and ETAs.Last updated -3PythonApache 2.0