czyjedzie.live MCP
Serwer Model Context Protocol ze statystykami komunikacji miejskiej w Krakowie (tramwaje, autobusy MPK, Mobilis).
☕ Wesprzyj projektCo udostępnia
Na żywo i rozkład: najbliższe odjazdy z przystanku z czasem przyjazdu liczonym z rzeczywistej pozycji pojazdu (rozkład + opóźnienie zmierzone z GPS), pozycje pojazdów, rozkład jazdy (dziś, jutro i dalsze dni) oraz wyszukiwarka połączeń z przesiadkami (ta sama co na czyjedzie.live). Obejmują tramwaje i autobusy ZTP (MPK, Mobilis), pociągi i autobusy Kolei Małopolskich oraz autobusy gminne Niepołomic.
Statystyki: punktualność historyczna, typowe opóźnienia, statystyki linii, odcinki, na których linie tracą czas, porównanie „teraz i zwykle”, zatory tramwajów, jazda parami, objazdy, archiwum opóźnień z 30 dni (tramwaje i autobusy ZTP).
Źródło i odpowiedzialność. Dane źródłowe: GTFS / GTFS-RT Zarządu Transportu Publicznego w Krakowie (gtfs.ztp.krakow.pl),
GTFS / GTFS-RT Koleje Małopolskie sp. z o.o. (gtfs.kolejemalopolskie.com.pl) i rozkład GTFS udostępniony przez
Gminę Niepołomice, przetworzone przez czyjedzie.live: wartości są wyliczane automatycznie z pozycji GPS, prognoz i rozkładów i mogą zawierać błędy. Każda odpowiedź narzędzia ma pole source z tą informacją,
a pola generated_at, now lub day podają czas danych. Serwer nie jest usługą ZTP, MPK, Kolei Małopolskich ani Gminy Niepołomice, które nie odpowiadają za te wyliczenia.
Czas: Europe/Warsaw. Opóźnienia w minutach (dodatnie oznaczają spóźnienie). Dzień przewozowy: 03:00–03:00. Nazwy przystanków można podawać z polskimi znakami lub bez.
Jak podłączyć
Adres: https://czyjedzie.live/mcp, transport Streamable HTTP, bez logowania.
- Claude (claude.ai, aplikacja): Ustawienia → Connectors → Add custom connector → wklej adres.
- Claude Code:
claude mcp add --transport http czyjedzie https://czyjedzie.live/mcp - Inni klienci MCP: ten sam adres, transport „Streamable HTTP” (HTTP POST, odpowiedzi JSON).
Narzędzia
departures
Najbliższe odjazdy z przystanku (ZTP, KM, autobusy gminne Niepołomic) z oczekiwanym czasem: rozkład przesunięty o opóźnienie zmierzone z GPS pojazdu, oraz gdzie pojazd jest teraz.
stopwymagany: Stop name, e.g. Rondo Mogilskie (Polish letters optional)lineminutes: look-ahead, default 60limit
Przykładowe pytanie: „Za ile przyjedzie 12 na przystanek Rondo Mogilskie?”
vehicle_positions
Gdzie są teraz pojazdy linii: pozycja GPS, bieżący i następny przystanek, opóźnienie, wiek odczytu GPS (ZTP i KM).
linewymaganylimit
Przykładowe pytanie: „Gdzie jest teraz tramwaj 18?”
plan_journey
Wyszukiwarka połączeń (RAPTOR, jak na czyjedzie.live) po rozkładach ZTP, KM i autobusów gminnych Niepołomic, z przesiadkami pieszymi do 400 m i bieżącymi opóźnieniami. Połączenia z osobnym biletem (KM, Niepołomice) tylko wtedy, gdy są wyraźnie szybsze. Od godziny odjazdu albo z godziną przyjazdu (arrive_by: najpóźniejsze odjazdy, które zdążą).
originwymagany: From: stop, town or 'lat,lon'destinationwymagany: To: stop, town or 'lat,lon'depart_in_min: leave in N minutes (instead of time)time: Leave at HH:MM; default nowarrive_by: Be there by HH:MM (instead of time): the latest departures that arrive in timeday(today | tomorrow)max_walk_min: walk to and from stops, default 10
Przykładowe pytanie: „Jak dojadę z Ronda Mogilskiego do Skawiny, żeby być tam na 9:00?”
timetable
Kursy z rozkładu jazdy około podanej godziny: odjazdy z przystanku, kursy do miejscowości (z odjazdem z pierwszego przystanku i przyjazdem) albo oba naraz. Dziś i jutro: ZTP, KM i autobusy gminne Niepołomic; dalsza data (do 60 dni): ZTP i KM według typu dnia (święta jak niedziela), z rozkładu obowiązującego teraz.
to: Destination stop or townorigin: Departure stoplineday(today | tomorrow)date: YYYY-MM-DD up to 60 days ahead (instead of day)time: HH:MM, default now (with date: the whole day)window_min: +- minutes, default 60limit
Przykładowe pytanie: „Pokaż autobusy do Ojcowa około 15:00 w sobotę.”
stop_reliability
Jak bardzo linia zwykle spóźnia się na przystanku około danej godziny: odjazdy z ostatnich 30 dni, mediana, p80-p95, odsetek kursów spóźnionych ponad 3 i 5 min.
stopwymagany: Stop name, e.g. Rondo Mogilskielinewymagany: Line, e.g. 4 or 179timewymagany: Scheduled time HH:MM, Warsawdaytype: default work (work | sat | sun | all)window: minutes around time, default 10
Przykładowe pytanie: „Czy tramwaj 12 z Ronda Mogilskiego o 8:00 w dni robocze zwykle się spóźnia?”
typical_delays
Mediana obserwowanego opóźnienia każdego odjazdu linii z przystanku z ostatnich 30 dni: ogółem, według godzin i odjazdy zwykle najbardziej spóźnione.
stopwymaganylinewymaganydays: day kinds: mw (Mon-Wed), th, fr, sa, su; default mw,th,fr
Przykładowe pytanie: „Które odjazdy 179 z Jubilatu są zwykle najbardziej spóźnione?”
line_stats
Bieżąca praca linii z GPS (ostatnie 15 i 30 min): prędkość handlowa, p95 prędkości, udział postoju i kongestii, łączny przebieg pojazdów, z wartościami zwykłymi o tej porze. Bez linii: najbardziej obłożone linie.
linelimit
Przykładowe pytanie: „Jak teraz jedzie linia 18 w porównaniu ze zwykłym dniem?”
delay_segments
Gdzie kursy łapią opóźnienie: odcinki między kolejnymi przystankami według opóźnienia zebranego w dniu, opcjonalnie dla linii i szczytu.
lineday: Service day YYYY-MM-DD (03:00-03:00 Warsaw); default: yesterdayperiod(all | am | pm)limit
Przykładowe pytanie: „Na których odcinkach linia 179 traciła wczoraj najwięcej czasu w porannym szczycie?”
now_vs_usual
Sieć teraz (pojazdy, prędkość, postój, kongestia, punktualność) w porównaniu z tą samą porą 4 poprzednich tygodni.
Bez argumentów.
Przykładowe pytanie: „Czy dziś po południu komunikacja w Krakowie jedzie wolniej niż zwykle?”
tram_jams
Tramwaje stojące teraz w kolejce poza pętlami, z najbliższym przystankiem i liniami.
Bez argumentów.
Przykładowe pytanie: „Czy gdzieś stoją teraz tramwaje?”
bunching
Linie, na których pojazdy tego samego kierunku jadą teraz bliżej niż 300 m od siebie.
Bez argumentów.
Przykładowe pytanie: „Które linie jeżdżą teraz parami?”
detours
Kursy, które w danym dniu zjechały ze swojej trasy (wykryte z GPS), pogrupowane według linii i miejsca zjazdu.
day: Service day YYYY-MM-DD (03:00-03:00 Warsaw); default: todaylinelimit
Przykładowe pytanie: „Które linie jeździły dziś objazdem?”
archive_day
Obserwowane opóźnienia jednej linii w jednym dniu z ostatnich 30 dni: podsumowanie i mediana opóźnienia na każdym przystanku w obu kierunkach.
linewymaganyday: Service day YYYY-MM-DD (03:00-03:00 Warsaw); default: yesterday
Przykładowe pytanie: „Jak punktualna była linia 3 w poniedziałek i na którym przystanku najbardziej się spóźniała?”
line_history
Linia dzień po dniu z ostatnich 30 dni: kursy, mediana opóźnienia, odsetek kursów spóźnionych ponad 5 min.
linewymagany
Przykładowe pytanie: „Czy linia 304 jest w tym miesiącu coraz mniej punktualna?”
Wywołanie bez klienta MCP
JSON-RPC 2.0 przez POST:
curl -s -X POST https://czyjedzie.live/mcp -H 'Content-Type: application/json' -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "stop_reliability", "arguments": {"stop": "Rondo Mogilskie", "line": "12", "time": "08:00"}}}'
Limity
10 zapytań na sekundę z jednego adresu IP (chwilowo do 40), zapytanie do 64 KB. Tylko odczyt, bez sesji i bez strumienia SSE.
Serwer jest darmowy i bez reklam. ☕ Wesprzyj projekt, jeśli Ci się przydaje →
Wersja serwera 1.0.0.