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.

벵갈루루 BMTC MCP 서버

방갈로르 도시 교통 공사(BMTC) 버스 서비스를 위한 몰 커넥터 프로그램(MCP) 서버 구현.

건축학

BMTC MCP 서버는 모듈식 계층 구조를 기반으로 문제를 분리하고 유지 관리 편의성을 높입니다. 이 시스템은 방갈로르 도시 교통 공사(Bangalore Metropolitan Transport Corporation) 버스의 실시간 교통 데이터를 처리하고 표준화된 API를 통해 제공하도록 설계되었습니다.

핵심 구성 요소

  1. API 계층 : 인증, 경로, 정류장, 버스 위치 및 ETA 정보를 위한 RESTful 엔드포인트
  2. 서비스 계층 : 비즈니스 로직, 데이터 변환 및 ETA 계산
  3. 데이터 액세스 계층 : Mongoose ODM을 통한 MongoDB 통합
  4. 캐싱 계층 : 성능 향상을 위한 Redis 기반 캐싱
  5. 외부 통합 계층 : BMTC API 통합

전체 아키텍처 문서를 읽어보세요

특징

  • 실시간 버스 위치 추적
  • 경로 정보 및 일정
  • 정류장 세부 정보 및 ETA(예상 도착 시간)
  • 벵갈루루에서 2,200개 이상의 버스 노선과 8,400개 이상의 버스 정류장 지원
  • 인증 및 권한 부여
  • 데이터 캐싱 및 최적화
  • 근처 정류장 및 버스에 대한 지리공간 쿼리

필수 조건

  • Node.js(v14 이상)
  • npm 또는 yarn
  • 몽고디비
  • Redis(캐싱용 선택 사항)

설치 및 설정

방법 1: 표준 설치

  1. 저장소를 복제합니다

지엑스피1

  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 : Node.js API 서버
  • 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

BMTC API 키

개발을 위해 실제 BMTC API 키 없이 모의 데이터를 사용할 수 있습니다.

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

생산의 경우, 공식 API 액세스를 요청하려면 BMTC에 직접 문의해야 합니다.

개발

테스트

테스트를 실행하세요:

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 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

감사의 말

-
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. BMTC API 키
      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