Bengaluru BMTC MCP Server

Bengaluru BMTC MCP Server

site icon
2025.05.04 2
JavaScript公交服务实时交通数据位置服务位置服务
Bengaluru BMTC MCP Server 是一个为班加罗尔大都会运输公司(BMTC)公交服务实现的Mall Connector Program(MCP)服务器。该系统采用模块化、分层架构设计,能够处理来自BMTC公交的实时交通数据,并通过标准化API提供这些数据。
View on GitHub

Overview

基本能力

产品定位

Bengaluru BMTC MCP Server 是一个为班加罗尔大都会运输公司(BMTC)公交服务实现的Mall Connector Program(MCP)服务器。该系统采用模块化、分层架构设计,能够处理来自BMTC公交的实时交通数据,并通过标准化API提供这些数据。

核心功能

  • 实时公交位置跟踪
  • 路线信息和调度
  • 站点详情和预计到达时间(ETA)
  • 支持班加罗尔超过2,200条公交路线和8,400多个公交站点
  • 认证和授权
  • 数据缓存和优化
  • 地理空间查询附近的站点和公交

适用场景

  • 公交实时位置查询
  • 公交路线规划
  • 公交站点信息查询
  • 公交预计到达时间查询

工具列表

  • API Layer: 提供RESTful端点,用于认证、路线、站点、公交位置和ETA信息
  • Service Layer: 业务逻辑、数据转换和ETA计算
  • Data Access Layer: 通过Mongoose ODM集成MongoDB
  • Caching Layer: 基于Redis的缓存,提高性能
  • External Integration Layer: BMTC API集成

常见问题解答

  • 如何获取BMTC API密钥? 开发阶段可以使用模拟数据,生产环境需要直接联系BMTC获取官方API访问权限。
  • 如何生成JWT密钥? 可以使用Node.js的crypto模块生成一个安全的随机字符串。

使用教程

使用依赖

  • Node.js (v14或更高版本)
  • npm或yarn
  • MongoDB
  • Redis(可选,用于缓存)
  • Git

安装教程

方法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文件,填入您的配置。 4. 启动服务器

npm start

开发模式下自动重启:

npm run dev

方法2:使用Docker Compose

  1. 克隆仓库
git clone https://github.com/ajeetraina/bengaluru-bmtc-mcp.git
cd bengaluru-bmtc-mcp
  1. 配置环境变量
cp .env.example .env
  1. 构建并启动容器
docker-compose up -d
  1. 查看日志
docker-compose logs -f api
  1. 停止容器
docker-compose down

调试方式

  • 运行测试
npm test
  • 运行测试并生成覆盖率报告
npm run test:coverage
  • 检查代码风格
npm run lint
  • 修复代码风格问题
npm run lint:fix

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。