
Bengaluru BMTC MCP Server

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:标准安装
- 克隆仓库
git clone https://github.com/ajeetraina/bengaluru-bmtc-mcp.git
cd bengaluru-bmtc-mcp
- 安装依赖
npm install
- 配置环境变量
cp .env.example .env
编辑.env
文件,填入您的配置。
4. 启动服务器
npm start
开发模式下自动重启:
npm run dev
方法2:使用Docker Compose
- 克隆仓库
git clone https://github.com/ajeetraina/bengaluru-bmtc-mcp.git
cd bengaluru-bmtc-mcp
- 配置环境变量
cp .env.example .env
- 构建并启动容器
docker-compose up -d
- 查看日志
docker-compose logs -f api
- 停止容器
docker-compose down
调试方式
- 运行测试
npm test
- 运行测试并生成覆盖率报告
npm run test:coverage
- 检查代码风格
npm run lint
- 修复代码风格问题
npm run lint:fix