Сервер 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
Прочитайте полную документацию по архитектуре
Related MCP server: Singapore LTA MCP Server
Функции
Вот список того, что вы можете найти с помощью 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 .