That candour runs through the set: buses further up the route come back with position and speed but no ETA, and bus_list_line_buses returns at most one or two despite a name that suggests a roster. Coordinate systems are not interchangeable here — stop lookups take WGS-84 while route planning takes GCJ-02, and the POIs from a keyword search are already GCJ-02, which makes them the safe origin for a plan. Timetables arrive in three shapes, and a line running on a fixed headway returns no per-trip times at all.
A client for a realtime Chinese bus data service, covering city lookup, line and stop search, live arrivals, timetables and transit routing.
- The upstream's curated hot-city set of around 20, or the full list of around 480 when you need one that is not in it, plus a city's poll interval and arriving-time threshold.
- Keyword search inside a city that returns matching lines, stations and POIs in one call, with a paged 'see more' per category.
- Stops near a WGS-84 coordinate annotated with the lines passing through and the buses approaching, and a stop's full detail: exact coordinates, every line with first, last and price, realtime buses and nearby metro lines.
- Line detail with the ordered station list, the reverse-direction line ID and every bus currently on the line, plus polyline coordinates for drawing the route on a map.
- Live arrivals with an ETA for the nearest bus heading to your stop, and a batch refresh of several line-and-stop pairs in one round trip.
- Per-trip timetables where a line publishes them, and a fixed-headway answer where it runs on intervals instead.
- Reverse geocoding from WGS-84 to a Chinese postal address, city-level location from a public IP, and transit planning between two GCJ-02 points broken into walking and ride segments.
Nothing — no account, no key.
One command — npx -y chelaile-mcp-server
