首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
MCP香港公交2026-10-24537分享添加福利群:解决AI开发者的「MCP实战痛点」
一个模型上下文协议服务器,提供香港九巴和龙运巴士路线信息和实时到站时间的访问,使语言模型能够回答用户关于巴士路线、站点和预计到达时间的问题。
By kennyckk
2026-10-24537
github
详情内容

KMB 巴士 MCP 服务器

smithery 徽章

一个模型上下文协议(MCP)服务器,提供对香港 KMB(九龍巴士)和龙运巴士(龍運巴士)路线信息和到站时间的实时访问。该服务器使语言模型能够查询香港巴士服务信息,以回答用户关于巴士路线、站点和预计到站时间的问题。

功能

  • 实时巴士到站信息(ETA)
  • 全面的巴士路线查询
  • 巴士站点信息及搜索
  • 路线-站点映射
  • 缓存系统以优化 API 调用
  • 双语支持(英文和繁体中文)

数据来源

本项目使用官方的 KMB/LWB 开放数据 API:

先决条件

  • Python 3.10 或更高版本
  • uv 包管理器

安装

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装 KMB 巴士 MCP:

npx -y @smithery/cli install @kennyckk/mcp_hkbus --client claude

手动安装

  1. 首先,如果尚未安装 uv,请先安装:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 克隆仓库:
git clone git@github.com:kennyckk/mcp_hkbus.git
cd mcp_hkbus
  1. 使用 uv 处理 Python 包:
uv sync #使用 uv.lock

使用

  1. 在您的 MCP 客户端(如 Claude Desktop)中编辑配置:
{
  "mcpServers": {
    "bus_service": {
      "command": "path/to/uv.exe",
      "args": ["--directory", "path/to/kmb_bus", "run", "kmb_mcp.py"],
      "background": true
    }
  }
}
  1. 服务器提供了多种工具,语言模型可以使用这些工具查询巴士信息:
  • get_route_list():获取所有巴士路线列表
  • get_stop_list():获取所有巴士站点列表
  • get_route_stops():获取特定路线的站点
  • find_stops_by_name():按名称搜索巴士站点
  • get_all_routes_at_stop():获取特定站点的所有路线
  • get_eta():获取预计到站时间

测试

使用 pytest 运行测试套件:

pytest test/kmb-mcp-tests.py

依赖项

  • httpx:用于异步 HTTP 请求
  • fastmcp:用于 MCP 服务器实现
  • pytest:用于测试(仅限开发)

贡献

欢迎贡献!请随时提交拉取请求。

致谢

  • KMB/LWB 提供开放数据 API
  • MCP 协议开发者

注意

本服务依赖于 KMB/LWB 开放数据 API。请注意 API 速率限制,并在生产环境中实施适当的错误处理。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档