Token导航 LogoToken导航TokenDH.com
Bengaluru Bmtc MCP logo
地图位置未说明官方级别未说明来源级核验

Bengaluru Bmtc MCP

MCP Server

为班加罗尔大都会运输公司(BMTC)公交服务提供实时公交位置、路线信息和到站时间预测的标准化API服务。

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
JavaScript位置天气API集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ajeetraina

提供方

ajeetraina

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

班加罗尔BMTC MCP服务器

班加罗尔大都市交通公司(BMTC)公交服务的模型上下文协议(MCP)服务器的实现。

建筑

BMTC MCP服务器遵循模块化、分层架构。该系统旨在处理班加罗尔大都会交通公司公交车的实时交通数据,并通过标准化的API提供数据。

核心组件

  1. API层:用于身份验证、路线、车站、公交位置和ETA信息的RESTful端点
  2. 服务层:业务逻辑、数据转换和ETA计算
  3. 数据访问层:通过Mongoose ODM集成MongoDB
  4. 缓存层:基于Redis的缓存可提高性能
  5. 外部集成层:BMTC API集成

阅读完整的架构文档

特性

以下是您可以使用MCP客户端或聊天窗口找到的内容列表:

  • 实时公交车位置跟踪
  • 路线信息和调度
  • 停靠详情和预计到达时间
  • 支持班加罗尔2200多条公交线路和8400多个公交车站
  • 认证与授权
  • 数据缓存和优化
  • 附近车站和公共汽车的地理空间查询

先决条件

  • Node.js(v14或更高版本)
  • npm或纱线
  • 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 使用您的配置文件:

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

对于生产,您需要直接联系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

贡献

请阅读 贡献.md 有关我们的行为准则和提交pull请求流程的详细信息。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢

目录标签

目录标签

JavaScript位置天气API集成公交跟踪本地部署实时数据交通管理API服务位置服务

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明sessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP