Koskamo

Get Around Hong Kong MCP

An official MCP server for the Get Around Hong Kong transport planning service. It allows AI agents to plan door-to-door trips across Hong Kong using MTR, buses, minibuses, trams, and ferries. Features include live arrival times, fare calculations, step-free route planning, border crossing congestion checks, and event venue directions. It supports multiple languages and provides tools for searching places, routes, and service updates.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Get Around Hong Kong MCP logo, by Get Around Hong KongVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Get Around Hong Kong
MCP endpoint (Streamable HTTP)
https://getaroundhongkong.com/mcp
Vendor documentation

What its tools do

7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

7 of 7 have a description · 7 of 7 declare behavior hints · 7 of 7 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to getaroundhongkong.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Plan door-to-door trips mixing MTR, bus, and ferry with live times and fares
  • Check live departures from MTR stations and bus stops near a specific location
  • Find the fastest border crossing to mainland China based on current congestion
  • Retrieve details for upcoming concerts and sports events at major venues

Source and maintenance

Vendor evidenceRegistry 1.6.0

Protocol and capabilities

Server
get-around-hong-kong 1.6.0
MCP protocol negotiated in check
2025-11-25
Tools
7 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Get Around Hong Kong plans public transport trips in Hong Kong: MTR, Light Rail, buses, green minibuses, trams and ferries combined, with Octopus fares, live departure times, road congestion delays and step-free routes. Use plan_trip for any "how do I get from A to B in Hong Kong" question; it accepts place names, addresses or coordinates directly. If the user names a bus or minibus they want to take ("I take the 33"), pass it as bus. Mention any warnings on the options you suggest. Use search_routes for questions about a route or line itself ("where does bus 40 go", "first and last train on the Island Line"): a number can be several routes (different operators or districts), so give each with its ends rather than picking one, and share its url (this site's page for it). Use service_updates for "are there any MTR delays / road problems now". Use border_crossings for "how busy is the border / Lo Wu / Shenzhen Bay now" or before planning a trip to Shenzhen or Macau: suggest a quieter crossing, then plan_trip to its lat,lon. Use nearby_departures for "when's the next bus / train from here", "what leaves near my hotel": live times at the stops around a place, no destination needed. Use search_place to find or disambiguate a place first when unsure. Use get_events for "what's on" in Hong Kong on a date, or to warn of crowds at a venue on the day of a trip (featured events draw the biggest crowds); then plan_trip to its lat,lon or share its url. Times are Hong Kong time (UTC+8). Answer in the user's language by passing language. Share the open_in_planner link so the user can follow the trip on a live map. things_to_do_nearby are Klook affiliate links (advertising): if you mention them, say they are ads.

Tools

7 advertised

plan_trip — Plan a public transport trip in Hong Kong
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Routes between two places in Hong Kong by MTR, bus, minibus, tram and ferry, best first: departure and arrival times, every walk and ride with stops, Octopus fares for the group, live next departures, traffic delays, and a link to open the trip on a live map. Also lists Klook things to do near the destination (affiliate ads).

plan_trip input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Destination, same forms as from"
    },
    "bus": {
      "type": "string",
      "maxLength": 6,
      "description": "A preferred bus or green minibus number, e.g. \"33\" or \"1A\": options are then only trips on it (its next departures from the nearest stop within about 10 minutes' walk, heading for the destination), or route_note says why there are none"
    },
    "from": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Start: a place name, address or \"lat,lon\" (e.g. \"Tsim Sha Tsui Star Ferry\", \"238 Nathan Road\", \"22.2988,114.1722\")"
    },
    "time": {
      "type": "string",
      "description": "ISO 8601 date-time, e.g. 2026-10-05T09:30:00+08:00 (Hong Kong is UTC+8). Default: now"
    },
    "adults": {
      "type": "integer",
      "default": 1,
      "maximum": 9,
      "minimum": 0,
      "description": "Aged 12–59"
    },
    "options": {
      "type": "integer",
      "default": 3,
      "maximum": 5,
      "minimum": 1,
      "description": "How many route options"
    },
    "seniors": {
      "type": "integer",
      "default": 0,
      "maximum": 9,
      "minimum": 0,
      "description": "Aged 60+"
    },
    "children": {
      "type": "integer",
      "default": 0,
      "maximum": 9,
      "minimum": 0,
      "description": "Aged 3–11"
    },
    "currency": {
      "enum": [
        "HKD",
        "USD",
        "JPY",
        "TWD",
        "CNY",
        "SGD",
        "KRW"
      ],
      "type": "string",
      "description": "Also show fares in this currency (fares are charged in HKD). Default follows language"
    },
    "disabled": {
      "type": "integer",
      "default": 0,
      "maximum": 9,
      "minimum": 0,
      "description": "Persons with disabilities"
    },
    "language": {
      "enum": [
        "zh-HK",
        "zh-CN",
        "en",
        "ja",
        "ko"
      ],
      "type": "string",
      "default": "en",
      "description": "Language for place and line names: en, zh-HK (Traditional Chinese), zh-CN (Simplified), ja, ko"
    },
    "arrive_by": {
      "type": "boolean",
      "default": false,
      "description": "true: time is when to arrive; false: when to leave"
    },
    "step_free": {
      "type": "boolean",
      "default": false,
      "description": "Wheelchair / step-free: avoids stairs, minibuses and trams"
    }
  }
}
plan_trip output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "from",
    "to",
    "travellers",
    "options",
    "open_in_planner",
    "source"
  ],
  "properties": {
    "to": {
      "type": "object",
      "required": [
        "name",
        "lat",
        "lon"
      ],
      "properties": {
        "lat": {
          "type": "number"
        },
        "lon": {
          "type": "number"
        },
        "also": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Other candidates when the match is loose"
        },
        "area": {
          "type": "string",
          "description": "District"
        },
        "kind": {
          "type": "string",
          "description": "mtr, bus, ferry, restaurant, hotel, attraction, address…"
        },
        "name": {
          "type": "string"
        },
        "note": {
          "type": "string",
          "description": "Set when the match is loose: check it's the place meant"
        },
        "metres": {
          "type": "number",
          "description": "Distance from near, when given"
        }
      },
      "additionalProperties": {}
    },
    "from": {
      "type": "object",
      "required": [
        "name",
        "lat",
        "lon"
      ],
      "properties": {
        "lat": {
          "type": "number"
        },
        "lon": {
          "type": "number"
        },
        "also": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Other candidates when the match is loose"
        },
        "area": {
          "type": "string",
          "description": "District"
        },
        "kind": {
          "type": "string",
          "description": "mtr, bus, ferry, restaurant, hotel, attraction, address…"
        },
        "name": {
          "type": "string"
        },
        "note": {
          "type": "string",
          "description": "Set when the match is loose: check it's the place meant"
        },
        "metres": {
          "type": "number",
          "description": "Distance from near, when given"
        }
      },
      "additionalProperties": {}
    },
    "source": {
      "type": "string"
    },
    "message": {
      "type": "string",
      "description": "Set when no route was found"
    },
    "options": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "depart",
          "arrive",
          "minutes",
          "transfers",
          "best_for",
          "warnings",
          "fare",
          "steps"
        ],
        "properties": {
          "fare": {
            "type": "object",
            "required": [
              "note"
            ],
            "properties": {
              "hkd": {
                "type": "number"
              },
              "note": {
                "type": "string"
              }
            },
            "description": "Total for the group, Octopus; plus the requested currency if any",
            "additionalProperties": {}
          },
          "steps": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "to": {
                  "type": "string",
                  "description": "Where a walk goes"
                },
                "live": {
                  "type": "boolean",
                  "description": "true: from the operator's live feed; false: timetable"
                },
                "mode": {
                  "type": "string",
                  "description": "SUBWAY, BUS, MINIBUS, TRAM, FERRY, FUNICULAR…"
                },
                "ride": {
                  "type": "string",
                  "description": "A ride: \"Tsuen Wan Line\", \"Bus 6\", \"Star Ferry\""
                },
                "walk": {
                  "type": "string",
                  "description": "A walk: \"4 min\""
                },
                "board": {
                  "type": "string",
                  "description": "\"08:12 Tsim Sha Tsui\""
                },
                "stops": {
                  "type": "number"
                },
                "alight": {
                  "type": "string"
                },
                "metres": {
                  "type": "number"
                },
                "towards": {
                  "type": "string"
                },
                "traffic_delay": {
                  "type": "string"
                },
                "enter_station_by": {
                  "type": "string"
                },
                "leave_station_by": {
                  "type": "string",
                  "description": "MTR exit to use, with step-free access where there is"
                },
                "next_departures_min": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  },
                  "description": "Minutes until the next departures from the boarding stop"
                }
              },
              "additionalProperties": {}
            }
          },
          "arrive": {
            "type": "string"
          },
          "depart": {
            "type": "string",
            "description": "HH:MM, Hong Kong time"
          },
          "minutes": {
            "type": "number"
          },
          "best_for": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "fastest, cheapest, fewest changes, least walking"
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Live disruptions on this option: an MTR line it rides reporting a delay, a road incident near its bus or tram route"
          },
          "transfers": {
            "type": "number"
          },
          "on_preferred_route": {
            "type": "boolean",
            "description": "With bus: whether this option rides it"
          }
        },
        "additionalProperties": {}
      }
    },
    "leave_at": {
      "type": "string",
      "description": "ISO 8601"
    },
    "arrive_by": {
      "type": "string",
      "description": "ISO 8601"
    },
    "route_note": {
      "type": "string",
      "description": "Why no option rides the preferred route (none near the start, not heading that way, not running now)"
    },
    "travellers": {
      "type": "object",
      "required": [
        "adults",
        "children",
        "seniors",
        "pwd"
      ],
      "properties": {
        "pwd": {
          "type": "number"
        },
        "adults": {
          "type": "number"
        },
        "seniors": {
          "type": "number"
        },
        "children": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "open_in_planner": {
      "type": "string",
      "description": "Link that opens this trip on the site with live times"
    },
    "preferred_route": {
      "type": "string",
      "description": "The bus asked for, normalised (e.g. \"1A\")"
    },
    "things_to_do_nearby": {
      "type": "object",
      "required": [
        "label",
        "deals"
      ],
      "properties": {
        "deals": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "title",
              "where",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "where": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "label": {
          "type": "string"
        }
      },
      "description": "Affiliate ads (Klook): say so if shown",
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
plan_trip annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
search_place — Find a place in Hong Kong
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Stations, stops, landmarks, restaurants (official licence list), buildings and street addresses in Hong Kong matching the text, best first, with what each is and its coordinates. Pass near to rank a chain's branches nearest to a point.

search_place input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query"
  ],
  "properties": {
    "near": {
      "type": "string",
      "description": "\"lat,lon\" to rank branches of a chain by distance from"
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "e.g. \"Ocean Park\", \"McDonald's\", \"彌敦道238號\""
    },
    "language": {
      "enum": [
        "zh-HK",
        "zh-CN",
        "en",
        "ja",
        "ko"
      ],
      "type": "string",
      "default": "en",
      "description": "Language for place and line names: en, zh-HK (Traditional Chinese), zh-CN (Simplified), ja, ko"
    }
  }
}
search_place output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "places"
  ],
  "properties": {
    "places": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "lat",
          "lon"
        ],
        "properties": {
          "lat": {
            "type": "number"
          },
          "lon": {
            "type": "number"
          },
          "also": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Other candidates when the match is loose"
          },
          "area": {
            "type": "string",
            "description": "District"
          },
          "kind": {
            "type": "string",
            "description": "mtr, bus, ferry, restaurant, hotel, attraction, address…"
          },
          "name": {
            "type": "string"
          },
          "note": {
            "type": "string",
            "description": "Set when the match is loose: check it's the place meant"
          },
          "metres": {
            "type": "number",
            "description": "Distance from near, when given"
          }
        },
        "additionalProperties": {}
      }
    }
  },
  "additionalProperties": false
}
search_place annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
nearby_departures — Live departures near a place in Hong Kong
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

What's leaving now from the MTR stations, bus stops and green minibus stops around a place in Hong Kong, nearest first: each route and direction once (at its nearest stop), where it's heading and the minutes until its next two departures, live from the operators. No destination needed: for "when's my bus" or "what leaves near here". Trams, ferries and Light Rail aren't included; for a trip from A to B use plan_trip.

nearby_departures input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "place"
  ],
  "properties": {
    "place": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Where: a place name, address or \"lat,lon\" (e.g. \"Mong Kok\", \"Hotel Icon\", \"22.3016,114.1772\")"
    },
    "language": {
      "enum": [
        "zh-HK",
        "zh-CN",
        "en",
        "ja",
        "ko"
      ],
      "type": "string",
      "default": "en",
      "description": "Language for place and line names: en, zh-HK (Traditional Chinese), zh-CN (Simplified), ja, ko"
    }
  }
}
nearby_departures output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "place",
    "stops",
    "checked_at",
    "source"
  ],
  "properties": {
    "place": {
      "type": "object",
      "required": [
        "name",
        "lat",
        "lon"
      ],
      "properties": {
        "lat": {
          "type": "number"
        },
        "lon": {
          "type": "number"
        },
        "also": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Other candidates when the match is loose"
        },
        "area": {
          "type": "string",
          "description": "District"
        },
        "kind": {
          "type": "string",
          "description": "mtr, bus, ferry, restaurant, hotel, attraction, address…"
        },
        "name": {
          "type": "string"
        },
        "note": {
          "type": "string",
          "description": "Set when the match is loose: check it's the place meant"
        },
        "metres": {
          "type": "number",
          "description": "Distance from near, when given"
        }
      },
      "additionalProperties": {}
    },
    "stops": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "metres",
          "lat",
          "lon",
          "departures"
        ],
        "properties": {
          "lat": {
            "type": "number"
          },
          "lon": {
            "type": "number"
          },
          "kind": {
            "type": "string",
            "description": "mtr, bus or minibus"
          },
          "name": {
            "type": "string"
          },
          "metres": {
            "type": "number",
            "description": "Straight-line distance from the place"
          },
          "departures": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "route",
                "minutes"
              ],
              "properties": {
                "route": {
                  "type": "string",
                  "description": "Bus or minibus number, or the MTR line (\"Tsuen Wan\")"
                },
                "minutes": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  },
                  "description": "Minutes until the next departures, soonest first; 0 = due now"
                },
                "towards": {
                  "type": "string",
                  "description": "Where it heads (a minibus's from its route and direction; absent where unknown)"
                },
                "scheduled": {
                  "type": "boolean",
                  "description": "true: the first time is the timetable's, not live"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "additionalProperties": false
      },
      "description": "Nearest first, within about 400 m (stations about 750 m). Each route and direction appears once, at its nearest stop"
    },
    "source": {
      "type": "string"
    },
    "checked_at": {
      "type": "string"
    },
    "incomplete": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
nearby_departures annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
service_updates — Hong Kong transport service updates
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

What's disrupted right now: MTR lines reporting a delay (MTR's next-train feed) and open road incidents such as accidents, breakdowns and lane closures (Transport Department special traffic news). Empty lists mean nothing is reported. plan_trip also flags these on the options they affect.

service_updates input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "language": {
      "enum": [
        "zh-HK",
        "zh-CN",
        "en",
        "ja",
        "ko"
      ],
      "type": "string",
      "default": "en",
      "description": "Language for place and line names: en, zh-HK (Traditional Chinese), zh-CN (Simplified), ja, ko"
    }
  }
}
service_updates output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "mtr_delays",
    "road_incidents",
    "checked_at",
    "source"
  ],
  "properties": {
    "source": {
      "type": "string"
    },
    "checked_at": {
      "type": "string"
    },
    "mtr_delays": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "line",
          "note"
        ],
        "properties": {
          "line": {
            "type": "string"
          },
          "note": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "description": "MTR lines reporting a delay now"
    },
    "road_incidents": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "what",
          "where",
          "details"
        ],
        "properties": {
          "lat": {
            "type": "number"
          },
          "lon": {
            "type": "number"
          },
          "what": {
            "type": "string",
            "description": "e.g. Traffic Accident, Vehicle Breakdown"
          },
          "where": {
            "type": "string"
          },
          "details": {
            "type": "string"
          },
          "announced": {
            "type": "string",
            "description": "ISO 8601, Hong Kong time"
          },
          "direction": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "description": "Open road incidents from the Transport Department"
    }
  },
  "additionalProperties": false
}
service_updates annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
border_crossings — Hong Kong border crossing queues
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

How busy each land and bridge crossing between Hong Kong and mainland China is right now (Lo Wu, Lok Ma Chau Spur Line, Shenzhen Bay, Heung Yuen Wai, Huanggang Port, Hong Kong–Zhuhai–Macao Bridge, Man Kam To, Sha Tau Kok): the Immigration Department's queue level and waiting range on the Hong Kong side, leaving and entering, for Hong Kong residents and for visitors, with how to get there and where to plan a trip to.

border_crossings input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "language": {
      "enum": [
        "zh-HK",
        "zh-CN",
        "en",
        "ja",
        "ko"
      ],
      "type": "string",
      "default": "en",
      "description": "Language for place and line names: en, zh-HK (Traditional Chinese), zh-CN (Simplified), ja, ko"
    }
  }
}
border_crossings output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "crossings",
    "published_at",
    "live",
    "source"
  ],
  "properties": {
    "live": {
      "type": "boolean",
      "description": "false when the figures are more than 30 minutes old"
    },
    "source": {
      "type": "string"
    },
    "crossings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "code",
          "name",
          "how_to_get_there",
          "lat",
          "lon",
          "leaving_hk",
          "entering_hk"
        ],
        "properties": {
          "lat": {
            "type": "number",
            "description": "Where a trip there is planned to (pass lat,lon to plan_trip)"
          },
          "lon": {
            "type": "number"
          },
          "code": {
            "type": "string",
            "description": "LWS, LSC, SBC, HYW, HGP, HZM, MKT, STK"
          },
          "name": {
            "type": "string"
          },
          "leaving_hk": {
            "type": "object",
            "required": [
              "residents",
              "visitors"
            ],
            "properties": {
              "visitors": {
                "type": "object",
                "required": [
                  "level"
                ],
                "properties": {
                  "wait": {
                    "type": "string",
                    "description": "The published range, e.g. \"under 30 min\""
                  },
                  "level": {
                    "type": "string",
                    "description": "normal, busy, very busy, closed or no data"
                  }
                },
                "additionalProperties": false
              },
              "residents": {
                "type": "object",
                "required": [
                  "level"
                ],
                "properties": {
                  "wait": {
                    "type": "string",
                    "description": "The published range, e.g. \"under 30 min\""
                  },
                  "level": {
                    "type": "string",
                    "description": "normal, busy, very busy, closed or no data"
                  }
                },
                "additionalProperties": false
              }
            },
            "description": "Departure hall queue",
            "additionalProperties": false
          },
          "entering_hk": {
            "type": "object",
            "required": [
              "residents",
              "visitors"
            ],
            "properties": {
              "visitors": {
                "type": "object",
                "required": [
                  "level"
                ],
                "properties": {
                  "wait": {
                    "type": "string",
                    "description": "The published range, e.g. \"under 30 min\""
                  },
                  "level": {
                    "type": "string",
                    "description": "normal, busy, very busy, closed or no data"
                  }
                },
                "additionalProperties": false
              },
              "residents": {
                "type": "object",
                "required": [
                  "level"
                ],
                "properties": {
                  "wait": {
                    "type": "string",
                    "description": "The published range, e.g. \"under 30 min\""
                  },
                  "level": {
                    "type": "string",
                    "description": "normal, busy, very busy, closed or no data"
                  }
                },
                "additionalProperties": false
              }
            },
            "description": "Arrival hall queue",
            "additionalProperties": false
          },
          "how_to_get_there": {
            "type": "string",
            "description": "How most people reach it on the Hong Kong side"
          }
        },
        "additionalProperties": false
      }
    },
    "published_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "When the Immigration Department last updated the levels, ISO 8601"
    }
  },
  "additionalProperties": false
}
border_crossings annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
search_routes — Look up a Hong Kong bus route or MTR line
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Hong Kong bus and green minibus routes by number, and MTR lines by name or code, the same as typing one in the site's Nearby box: where each runs between, its operator, its first and last departures by day, and this site's page for it (every stop, fares, live arrivals). A number can be several routes (route 40 is Citybus, KMB and three minibus routes in different districts): all are returned, each with its ends. Special services (a supplementary or short-working run) are left out once they have no departure left today. For travelling somewhere, use plan_trip.

search_routes input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query"
  ],
  "properties": {
    "kind": {
      "enum": [
        "bus",
        "minibus",
        "mtr"
      ],
      "type": "string",
      "description": "Only buses, green minibuses or MTR lines"
    },
    "query": {
      "type": "string",
      "maxLength": 40,
      "minLength": 1,
      "description": "A route number or line: \"40\", \"N21\", \"A21\", \"28M\", \"Island Line\", \"港島綫\", \"TWL\""
    },
    "language": {
      "enum": [
        "zh-HK",
        "zh-CN",
        "en",
        "ja",
        "ko"
      ],
      "type": "string",
      "default": "en",
      "description": "Language for place and line names: en, zh-HK (Traditional Chinese), zh-CN (Simplified), ja, ko"
    }
  }
}
search_routes output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query",
    "routes"
  ],
  "properties": {
    "query": {
      "type": "string"
    },
    "routes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "kind",
          "route",
          "operator",
          "from",
          "to",
          "timetable",
          "url"
        ],
        "properties": {
          "to": {
            "type": [
              "string",
              "null"
            ],
            "description": "The other end (a circular route has one)"
          },
          "url": {
            "type": "string",
            "description": "This site's page for the route: every stop, fares, both directions, live arrivals"
          },
          "code": {
            "type": "string",
            "description": "An MTR line's code (\"ISL\")"
          },
          "from": {
            "type": [
              "string",
              "null"
            ],
            "description": "One end"
          },
          "kind": {
            "type": "string",
            "description": "bus, minibus or mtr"
          },
          "route": {
            "type": "string",
            "description": "The route number (\"40\", \"N21\"), or the MTR line's name (\"Island Line\")"
          },
          "operator": {
            "type": "string",
            "description": "KMB, Citybus, Green minibus, MTR…"
          },
          "timetable": {
            "anyOf": [
              {
                "type": "object",
                "required": [
                  "from_stop",
                  "days"
                ],
                "properties": {
                  "days": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "days",
                        "first",
                        "last",
                        "departures"
                      ],
                      "properties": {
                        "days": {
                          "type": "string",
                          "description": "\"Mon–Fri\", \"Sat\", \"Sun\""
                        },
                        "last": {
                          "type": "string"
                        },
                        "first": {
                          "type": "string"
                        },
                        "every_min": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          },
                          "description": "Gap between departures, [shortest, longest] minutes"
                        },
                        "departures": {
                          "type": "number",
                          "description": "How many leave that day"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "from_stop": {
                    "type": "string",
                    "description": "The first stop, where these times are from"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ],
            "description": "One direction's first and last departures by day (the page has both directions)"
          }
        },
        "additionalProperties": false
      },
      "description": "Every route matching: a number names all operators' and districts' routes with it. Empty when none does"
    }
  },
  "additionalProperties": false
}
search_routes annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
get_events — What's on in Hong Kong
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Big events in Hong Kong (concerts at the major venues, sports, festivals, arts), the same list as getaroundhongkong.com/events: titles in five languages, dates, venue, coordinates, nearest MTR station, and this site's page for getting there. Filter by dates (events overlapping from–to, Hong Kong dates, YYYY-MM-DD; from today on by default) and featured (the biggest, most crowded ones).

get_events input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day, YYYY-MM-DD (default: everything coming up)"
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day, YYYY-MM-DD (default today)"
    },
    "featured": {
      "type": "boolean",
      "description": "Only the featured (biggest) events"
    }
  }
}
get_events output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "from",
    "to",
    "events"
  ],
  "properties": {
    "to": {
      "type": [
        "string",
        "null"
      ],
      "description": "Last day covered, or null for everything coming up"
    },
    "from": {
      "type": "string",
      "description": "First day covered, YYYY-MM-DD (Hong Kong)"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "kind",
          "title",
          "start",
          "end",
          "time",
          "times",
          "ends",
          "venue",
          "lat",
          "lon",
          "station",
          "url",
          "link",
          "featured",
          "image"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "end": {
            "type": "string",
            "description": "YYYY-MM-DD"
          },
          "lat": {
            "type": [
              "number",
              "null"
            ]
          },
          "lon": {
            "type": [
              "number",
              "null"
            ]
          },
          "url": {
            "type": "object",
            "required": [
              "en",
              "zh-hk",
              "zh-cn",
              "ja",
              "ko"
            ],
            "properties": {
              "en": {
                "type": "string"
              },
              "ja": {
                "type": "string"
              },
              "ko": {
                "type": "string"
              },
              "zh-cn": {
                "type": "string"
              },
              "zh-hk": {
                "type": "string"
              }
            },
            "description": "This site's page for it (guide, venue guide or the planner), per language",
            "additionalProperties": false
          },
          "ends": {
            "type": [
              "string",
              "null"
            ],
            "description": "Roughly when it ends each day, HH:MM, Hong Kong: from its running time, else about 2.5 hours after a concert starts; null if not known"
          },
          "kind": {
            "type": "string",
            "description": "sport, arts, concert or festival"
          },
          "link": {
            "type": [
              "string",
              "null"
            ],
            "description": "The organiser's page"
          },
          "time": {
            "type": [
              "string",
              "null"
            ],
            "description": "Start time HH:MM, Hong Kong, where known (the first show's, where it differs by night)"
          },
          "image": {
            "anyOf": [
              {
                "type": "object",
                "required": [
                  "url",
                  "width",
                  "height",
                  "credit",
                  "source"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "The event's own picture (its organiser's artwork), on this site"
                  },
                  "focus": {
                    "type": "string",
                    "description": "Where to centre a crop, CSS background-position"
                  },
                  "width": {
                    "type": "number"
                  },
                  "credit": {
                    "type": "string",
                    "description": "Whose picture it is: credit it when showing it"
                  },
                  "height": {
                    "type": "number"
                  },
                  "source": {
                    "type": "string",
                    "description": "The page it's from: link to it when showing it"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ],
            "description": "Featured events' pictures; null until one is found"
          },
          "start": {
            "type": "string",
            "description": "YYYY-MM-DD"
          },
          "times": {
            "anyOf": [
              {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "type": "string"
                }
              },
              {
                "type": "null"
              }
            ],
            "description": "Start time HH:MM by date (YYYY-MM-DD) where shows start at different times; null when every day is the same"
          },
          "title": {
            "type": "object",
            "required": [
              "en",
              "zh-hk",
              "zh-cn",
              "ja",
              "ko"
            ],
            "properties": {
              "en": {
                "type": "string"
              },
              "ja": {
                "type": "string"
              },
              "ko": {
                "type": "string"
              },
              "zh-cn": {
                "type": "string"
              },
              "zh-hk": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "venue": {
            "type": "object",
            "required": [
              "en",
              "zh"
            ],
            "properties": {
              "en": {
                "type": "string"
              },
              "zh": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "station": {
            "anyOf": [
              {
                "type": "object",
                "required": [
                  "id",
                  "name"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "object",
                    "required": [
                      "en",
                      "zh"
                    ],
                    "properties": {
                      "en": {
                        "type": "string"
                      },
                      "zh": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ],
            "description": "Nearest MTR station"
          },
          "featured": {
            "type": "boolean",
            "description": "A big event: expect crowds"
          },
          "not_yet_known": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Details not filled in yet (place, station, time, title.ja…)"
          }
        },
        "additionalProperties": {}
      }
    }
  },
  "additionalProperties": false
}
get_events annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-07: 1 of 1 checks answered
  2. 2026-11-09: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
825 ms
95th percentile latency
825 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 825 ms · metadata changed · 7 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http get-around-hong-kong-mcp https://getaroundhongkong.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add get-around-hong-kong-mcp --url https://getaroundhongkong.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable get-around-hong-kong-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "get-around-hong-kong-mcp": {
      "url": "https://getaroundhongkong.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "get-around-hong-kong-mcp": {
      "type": "streamableHttp",
      "url": "https://getaroundhongkong.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start get-around-hong-kong-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "get-around-hong-kong-mcp": {
      "type": "http",
      "url": "https://getaroundhongkong.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http get-around-hong-kong-mcp https://getaroundhongkong.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://getaroundhongkong.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "get-around-hong-kong-mcp": {
      "serverUrl": "https://getaroundhongkong.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Get Around Hong Kong MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Get Around Hong Kong MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing