](https://mseep.ai/app/kennyckk-mcp-hkbus)
九巴巴士MCP服务器
](https://smithery.ai/server/@kennyckk/mcp_hkbus)
模型上下文协议(MCP)服务器,提供对香港九巴(KMB)和龙运巴士(Long Win Bus)路线信息和到达时间的实时访问。此服务器允许语言模型查询香港巴士服务信息,以回答用户关于巴士路线、停靠站和预计到达时间的问题。
特性
- 实时公交车到达信息(ETA)
- 综合公交线路查询
- 公交车站信息和搜索
- 路线站点映射
- 用于优化API调用的缓存系统
- 双语支持(英语和繁体中文)
数据源
本项目采用官方KMB/LWB开放数据API:
- 基本URL:https://data.etabus.gov.hk/v1/transport/kmb
- 九巴开放数据API文档
先决条件
- Python 3.10或更高版本
- uv包管理器
安装
通过Smithery安装
通过以下方式自动安装适用于克劳德桌面的KMB巴士MCP 史密瑟里:
npx -y @smithery/cli install @kennyckk/mcp_hkbus --client claude手动安装
- 首先,如果你还没有安装uv:
curl -LsSf https://astral.sh/uv/install.sh | sh- 克隆存储库:
git clone git@github.com:kennyckk/mcp_hkbus.git
cd mcp_hkbus- 使用uv来处理python包:
uv sync #using uv.lock用法
- 在MCP客户端(例如Claude Desktop)中编辑配置:
{
"mcpServers": {
"bus_service": {
"command": "path/to/uv.exe",
"args": ["--directory", "path/to/kmb_bus", "run", "kmb_mcp.py"],
"background": true
}
}
}- 服务器提供了几个工具,语言模型可以使用这些工具查询总线信息:
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速率限制,并在生产环境中实施适当的错误处理。

