Bangalore BMTC Mobility Connectivity Platform
Сервер 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: poa-bus-mcp
Функции
Вот список того, что вы можете найти с помощью MCP Client или окна чата:
Отслеживание местонахождения автобуса в режиме реального времени
Информация о маршруте и расписание
Информация об остановках и расчетное время прибытия
Поддержка более 2200 автобусных маршрутов и более 8400 автобусных остановок в Бангалоре
Аутентификация и авторизация
Кэширование и оптимизация данных
Геопространственные запросы на ближайшие остановки и автобусы
Предпосылки
Node.js (v14 или более поздняя версия)
npm или пряжа
MongoDB
Redis (опционально, для кэширования)
Гит
Установка и настройка
Метод 1: Стандартная установка
Клонировать репозиторий
git clone https://github.com/ajeetraina/bengaluru-bmtc-mcp.git
cd bengaluru-bmtc-mcpУстановить зависимости
npm installНастройте переменные среды
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Заполнить базу данных фиктивными данными (необязательно)
node src/scripts/seed.jsЗапустить сервер
npm startДля разработки с автоматическим перезапуском:
npm run devМетод 2: Использование Docker Compose
Клонировать репозиторий
git clone https://github.com/ajeetraina/bengaluru-bmtc-mcp.git
cd bengaluru-bmtc-mcpНастройте переменные среды (необязательно)
Вы можете изменить переменные среды непосредственно в файле docker-compose.yml или создать файл .env :
cp .env.example .envПостройте и запустите контейнеры
docker-compose up -dЭто запустит три контейнера:
bmtc-mcp-api: сервер API Node.jsbmtc-mcp-mongo: База данных MongoDBbmtc-mcp-redis: сервер кэширования Redis
Заполнить базу данных фиктивными данными (необязательно)
docker-compose exec api node src/scripts/seed.jsПосмотреть журналы
docker-compose logs -f apiОстановите контейнеры.
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/:routeIdAPI-ключи
JWT-секрет
Секрет JWT используется для подписи токенов аутентификации. Сгенерируйте безопасную случайную строку:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"Добавьте это в ваш файл .env :
JWT_SECRET=your_generated_secret_hereAPI-ключ 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 .
Благодарности
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides real-time bus and train information across 10+ cities in Malaysia, including live vehicle tracking, arrival predictions, stop search, and route discovery for public transit systems.3MIT
- AlicenseNot gradedqualityDmaintenanceAccess bus stops, routes, and real-time information for Porto Alegre's public transportation system.3MIT
- FlicenseNot gradedqualityDmaintenanceProvides real-time and scheduled bus information for Montevideo's public transport system.1
- AlicenseNot gradedqualityDmaintenanceProvides Estonian public transport timetables, trip planning, stop search, and real-time vehicle tracking.MIT
Related MCP Connectors
Real-time transit stops, routes, arrivals, vehicle positions, and schedules via OneBusAway APIs.
Lviv public transport MCP: stops, timetables, routes, and live vehicle positions. No API key.
MBTA MCP — Boston real-time transit via the MBTA v3 API (api-v3.mbta.com)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ajeetraina/bengaluru-bmtc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server