KMB Bus MCP Server logo

KMB Bus MCP Server

by kennyckk

A Model Context Protocol (MCP) server that provides real-time access to Hong Kong's KMB and Long Win Bus route information and arrival times. It enables Language Models to query Hong Kong bus service information.

View on GitHub

Last updated: N/A

What is KMB Bus MCP Server?

This is a Model Context Protocol (MCP) server designed to provide Language Models with real-time access to bus route information and arrival times for KMB (九龍巴士) and Long Win Bus (龍運巴士) in Hong Kong. It acts as an intermediary between the Language Model and the KMB/LWB Open Data API.

How to use KMB Bus MCP Server?

To use this server, you need to install it following the provided installation instructions, which involve cloning the repository and using the uv package manager. Then, configure your MCP client (e.g., Claude Desktop) to point to the server's executable. The server exposes several tools that Language Models can use to query bus information, such as get_route_list(), get_stop_list(), get_route_stops(), find_stops_by_name(), get_all_routes_at_stop(), and get_eta().

Key features of KMB Bus MCP Server

  • Real-time bus arrival information (ETA)

  • Comprehensive bus route queries

  • Bus stop information and searches

  • Route-stop mapping

  • Caching system to optimize API calls

  • Bilingual support (English and Traditional Chinese)

Use cases of KMB Bus MCP Server

  • Answering user questions about bus routes in Hong Kong

  • Providing estimated arrival times for buses

  • Helping users find bus stops near them

  • Planning bus routes

  • Integrating real-time bus information into other applications

FAQ from KMB Bus MCP Server

What data source does this server use?

This server uses the official KMB/LWB Open Data API.

What are the prerequisites for running this server?

You need Python 3.10 or higher and the uv package manager.

How do I install the server?

Clone the repository, install dependencies using uv, and configure your MCP client.

What tools are available for querying bus information?

The server provides tools like get_route_list(), get_stop_list(), get_route_stops(), find_stops_by_name(), get_all_routes_at_stop(), and get_eta().

How can I contribute to this project?

Contributions are welcome! Please feel free to submit a Pull Request.