Bangalore BMTC Mobility Connectivity Platform

Integrations

  • Manages environment configuration for the BMTC MCP server deployment.

  • Provides version control for the BMTC MCP server codebase.

  • Hosts the repository for the BMTC MCP server code and documentation.

Сервер MCP BMTC в Бангалоре

Реализация сервера Model Context Protocol (MCP) для автобусных служб Bangalore Metropolitan Transport Corporation (BMTC).

Архитектура

Сервер BMTC MCP следует модульной, многоуровневой архитектуре. Система разработана для обработки транзитных данных в реальном времени от автобусов Bangalore Metropolitan Transport Corporation и предоставления их через стандартизированный API.

Основные компоненты

  1. Уровень API : конечные точки RESTful для аутентификации, маршрутов, остановок, местоположений автобусов и информации об ожидаемом времени прибытия
  2. Уровень обслуживания : бизнес-логика, преобразование данных и расчеты расчетного времени прибытия
  3. Уровень доступа к данным : интеграция MongoDB через Mongoose ODM
  4. Уровень кэширования : кэширование на основе Redis для повышения производительности
  5. Внешний уровень интеграции : интеграция API BMTC

Прочитайте полную документацию по архитектуре

Функции

Вот список того, что вы можете найти с помощью MCP Client или окна чата:

  • Отслеживание местонахождения автобуса в режиме реального времени
  • Информация о маршруте и расписание
  • Информация об остановках и расчетное время прибытия
  • Поддержка более 2200 автобусных маршрутов и более 8400 автобусных остановок в Бангалоре
  • Аутентификация и авторизация
  • Кэширование и оптимизация данных
  • Геопространственные запросы на ближайшие остановки и автобусы

Предпосылки

  • Node.js (v14 или более поздняя версия)
  • npm или пряжа
  • MongoDB
  • Redis (опционально, для кэширования)
  • Гит

Установка и настройка

Метод 1: Стандартная установка

  1. Клонировать репозиторий
git clone https://github.com/ajeetraina/bengaluru-bmtc-mcp.git cd bengaluru-bmtc-mcp
  1. Установить зависимости
npm install
  1. Настройте переменные среды
cp .env.example .env

Отредактируйте файл .env в соответствии со своей конфигурацией:

PORT=3000 NODE_ENV=development MONGO_URI=mongodb://localhost:27017/bmtc-mcp REDIS_URI=redis://localhost:6379 API_KEY=your_api_key_here JWT_SECRET=your_jwt_secret_here JWT_EXPIRES_IN=86400 BMTC_API_ENDPOINT=https://bmtc-api-endpoint.example BMTC_API_KEY=your_bmtc_api_key_here CACHE_DURATION=300 LOG_LEVEL=info
  1. Заполнить базу данных фиктивными данными (необязательно)
node src/scripts/seed.js
  1. Запустить сервер
npm start

Для разработки с автоматическим перезапуском:

npm run dev

Метод 2: Использование Docker Compose

  1. Клонировать репозиторий
git clone https://github.com/ajeetraina/bengaluru-bmtc-mcp.git cd bengaluru-bmtc-mcp
  1. Настройте переменные среды (необязательно)

Вы можете изменить переменные среды непосредственно в файле docker-compose.yml или создать файл .env :

cp .env.example .env
  1. Постройте и запустите контейнеры
docker-compose up -d

Это запустит три контейнера:

  • bmtc-mcp-api : сервер API Node.js
  • bmtc-mcp-mongo : База данных MongoDB
  • bmtc-mcp-redis : сервер кэширования Redis
  1. Заполнить базу данных фиктивными данными (необязательно)
docker-compose exec api node src/scripts/seed.js
  1. Посмотреть журналы
docker-compose logs -f api
  1. Остановите контейнеры.
docker-compose down

Чтобы удалить также и тома:

docker-compose down -v

Использование API

После запуска сервера вы сможете получить доступ к API по адресу:

http://localhost:3000/api/v1

Документацию по API можно найти на сайте:

http://localhost:3000/api-docs

Примеры конечных точек API

# Authentication POST /api/v1/auth/login GET /api/v1/auth/me # Routes GET /api/v1/routes GET /api/v1/routes/:routeId GET /api/v1/routes/search?source=Kempegowda&destination=Electronic # Stops GET /api/v1/stops GET /api/v1/stops/:stopId GET /api/v1/stops/near?lat=12.9767&lng=77.5713&radius=500 GET /api/v1/stops/search?query=Lalbagh # Bus Locations GET /api/v1/bus-locations GET /api/v1/bus-locations/:busId GET /api/v1/bus-locations/near?lat=12.9767&lng=77.5713&radius=1000 # ETA GET /api/v1/eta/:stopId GET /api/v1/eta/:stopId/:routeId

API-ключи

JWT-секрет

Секрет JWT используется для подписи токенов аутентификации. Сгенерируйте безопасную случайную строку:

node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

Добавьте это в ваш файл .env :

JWT_SECRET=your_generated_secret_here

API-ключ BMTC

Для разработки вы можете использовать фиктивные данные без фактического ключа API BMTC:

BMTC_API_ENDPOINT=https://bmtc-api-endpoint.example BMTC_API_KEY=your_bmtc_api_key_here

Для производства вам необходимо связаться с BMTC напрямую, чтобы запросить официальный доступ к API.

Разработка

Тестирование

Запустите тесты:

npm test

Запустите тесты с покрытием:

npm run test:coverage

Линтинг

Проверьте стиль кода:

npm run lint

Исправление проблем со стилем кода:

npm run lint:fix

Структура проекта

bengaluru-bmtc-mcp/ ├── .env.example # Environment variables template ├── .eslintrc.json # ESLint configuration ├── .github/ # GitHub configuration │ └── workflows/ # GitHub Actions workflows ├── .gitignore # Git ignore file ├── CONTRIBUTING.md # Contribution guidelines ├── Dockerfile # Docker configuration ├── LICENSE # MIT License ├── README.md # Project documentation ├── docker-compose.yml # Docker Compose configuration ├── docs/ # Documentation │ ├── api.md # API documentation │ └── setup.md # Setup guide ├── jest.config.js # Jest configuration ├── package.json # Project dependencies └── src/ # Source code ├── config/ # Configuration files ├── controllers/ # Request handlers ├── index.js # Application entry point ├── middlewares/ # Express middlewares ├── models/ # MongoDB models ├── public/ # Static files ├── routes/ # API routes ├── scripts/ # Utility scripts ├── services/ # External service integrations ├── tests/ # Test files └── utils/ # Utility functions

Внося вклад

Подробную информацию о нашем кодексе поведения и процессе подачи запросов на включение изменений см. на сайте CONTRIBUTING.md.

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .

Благодарности

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

Предоставляет доступ в режиме реального времени к информации об общественном транспорте Бангалора, включая отслеживание движения автобусов, расписания, маршруты и обновления услуг для улучшения обслуживания пассажиров.

  1. Архитектура
    1. Основные компоненты
  2. Функции
    1. Предпосылки
      1. Установка и настройка
        1. Метод 1: Стандартная установка
        2. Метод 2: Использование Docker Compose
      2. Использование API
        1. Примеры конечных точек API
      3. API-ключи
        1. JWT-секрет
        2. API-ключ BMTC
      4. Разработка
        1. Тестирование
        2. Линтинг
        3. Структура проекта
      5. Внося вклад
        1. Лицензия
          1. Благодарности

            Related MCP Servers

            • A
              security
              F
              license
              A
              quality
              Enables Large Language Models to access real-time data on Vilnius public transport stops and routes through the Model Context Protocol.
              Last updated -
              2
              1
              Python
            • A
              security
              F
              license
              A
              quality
              Facilitates 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 -
              7
              JavaScript
            • -
              security
              A
              license
              -
              quality
              This 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 -
              11
              5
              JavaScript
              MIT License
              • Apple
            • -
              security
              F
              license
              -
              quality
              A 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 -
              3
              Python
              • Linux
              • Apple

            View all related MCP servers

            ID: 2l0m5ujizz