Rozklad Mcp

io.github.ContentWriterco由 GitHub 账号 ContentWriterco 发布v0.4.1更新于 Oct 30, 2026

Polish train, bus & city transit timetables: journeys, departures, live delays, fares

已验证Streamable HTTP可网页运行位置与生活数据与分析

概览

AI 生成的概览

波兰公共交通时刻表:规划火车、巴士与城市交通行程,查询出发信息、实时延误、铁路中断与天气预警。

可以做什么
  • 规划波兰境内两地之间的行程,含火车与巴士换乘,给出时间、站台、运营方与实时延误
  • 查询车站或站点的出发或到达看板,可按方向筛选
  • 查看某趟火车或巴士的完整经停站、延误与取消情况
  • 按名称模糊搜索车站,或按坐标半径查找附近站点
  • 查询 PKP PLK 铁路中断信息以及 IMGW 天气与洪水预警
  • 列出已加载的数据源及其有效期、许可与署名要求
适用场景
适合需要回答波兰出行实际问题时使用:如何从一地到另一地、某站现在有什么车出发、某趟车是否晚点,以及铁路中断和天气预警是否影响行程。
运行要求
可使用无需登录的公共远程端点,或本地安装 Node.js 20 及以上并通过 npx 运行;本地首次运行会下载约 40 MB 时刻表并缓存。可用 ROZKLAD_FEEDS 等环境变量调整加载的数据源;本地启用铁路中断功能需在 ROZKLAD_PLK_API_KEY 中填入免费的 PKP PLK 密钥。实时数据需要网络访问。
安装前请注意
公共服务器有请求频率限制,并统计每日汇总使用情况,但声明不保存 IP 地址、坐标或路线。本地启用城市交通数据会显著增加内存占用。显示的票价为最高全价目录价,并非实际票价,且城市交通、巴士、SKM 与 Koleje Wielkopolskie 没有票价。数据可能不完整,重要行程请向承运方核实。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Rozklad Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.ContentWriterco%2Frozklad-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "rozklad": {
      "type": "http",
      "url": "https://rozklad.compabase.com/mcp"
    }
  }
}

README

rozkład-mcp 🚆🚌

Rozkład jazdy PKP, PKS i komunikacji miejskiej dla Twojego asystenta AI.
Serwer MCP: wyszukiwarka połączeń z przesiadkami, odjazdy, opóźnienia na żywo i ceny biletów – w Claude, ChatGPT, Cursorze, VS Code i każdym kliencie MCP.

[npm] [MCP Registry] [CI] [Licencja MIT] [Bez klucza API]

[Animacja: użytkownik pyta asystenta AI, jak dojechać ze Zbąszynia do Kórnika; asystent korzysta z rozklad-mcp i podaje pociąg IC, przejście na dworzec autobusowy i autobus PKS z godzinami i ceną]

Podłącz w 30 sekund · Przykładowe pytania · Instalacja lokalna · English

Wszystkie pociągi w Polsce (PKP Intercity, Polregio, Koleje Mazowieckie, SKM, Koleje Śląskie, Dolnośląskie, Wielkopolskie, Małopolskie, ŁKA, Arriva…), autobusy PKS, FlixBus i komunikacja miejska ~25 miast w jednej wyszukiwarce połączeń. Bez klucza API, bez rejestracji, za darmo – tylko otwarte dane przewoźników i zarządców.

Przykładowe pytania

  • „Jak dostanę się jutro na 9:00 z Wrocławia do Zakopanego?”
  • „Czym najszybciej z Gdyni Orłowo na Politechnikę Gdańską?”
  • „Ile kosztuje IC z Poznania do Warszawy w piątek po 16:00?”
  • „Co odjeżdża teraz z przystanku Kraków Rondo Mogilskie?”
  • „Którędy jedzie Podhalanin i ile ma opóźnienia?”
  • „Mam pociąg o 18:36 z Poznania Głównego – o której autobus z Niepruszewa, żeby zdążyć?”

Co potrafi

NarzędzieDo czego
plan_journeyPołączenia A → B z przesiadkami pociąg ↔ autobus, „wyjazd po” albo „przyjazd do”, limit przesiadek, wybór środków transportu. Miejsce = stacja, całe miasto („Kraków”) albo współrzędne.
departuresTablica odjazdów/przyjazdów z peronami i opóźnieniami; filtr „tylko w kierunku Poznania”.
trip_detailsCały przebieg pociągu (po numerze: 3510, IC 3510, nazwie: Podhalanin albo ref) z opóźnieniem na każdej stacji, odwołaniami i objazdami.
find_stops / nearby_stopsWyszukiwanie stacji (literówki i brak polskich znaków OK) oraz przystanków w pobliżu punktu.
rail_disruptionsUtrudnienia na kolei z PKP PLK: zamknięcia torów, komunikacja zastępcza (ZKA), odwołania, awarie, ograniczenia prędkości – oficjalne komunikaty PKP PLK. Pociągi objęte utrudnieniem są oznaczone ⚠ także w plan_journey, departures i trip_details. Na publicznym serwerze włączone; lokalnie wymaga darmowego klucza PLK.
weather_warningsOstrzeżenia IMGW (burze, wiatr, oblodzenie, upał, śnieg) i powodziowe dla powiatu danego miejsca; plan_journey sam dodaje ostrzeżenia dla startu i celu podróży.
data_sourcesJakie dane są załadowane, do kiedy ważne, licencje i wymagane atrybucje.

Pokrycie (domyślnie): wszyscy przewoźnicy kolejowi koordynowani przez PKP PLK – PKP Intercity, Polregio, Koleje Mazowieckie, SKM Trójmiasto, SKM Warszawa, Koleje Śląskie, Dolnośląskie, Wielkopolskie, Małopolskie, ŁKA, Arriva, RegioJet, Leo Express – plus WKD, PKS Poznań, PKS Kalisz i przewoźnicy kaliscy, Sindbad, Kombus, FlixBus/FlixTrain (połączenia z i do Polski). Komunikacja miejska ~25 miast (Warszawa, Kraków, Łódź, Poznań, Trójmiasto, GZM, Szczecin, Lublin, Białystok, Bydgoszcz, Legnica…) – na publicznym serwerze włączona, lokalnie opcjonalna. Przystanki miejskie wyszukasz z nazwą miasta: „Kraków Rondo Mogilskie”, „Warszawa Politechnika”. Pełna lista: feeds/feeds.json.

Opóźnienia na żywo: wszystkie pociągi (dane PKP PLK) oraz komunikacja miejska Krakowa, Poznania, Gdańska i Szczecina (GTFS-Realtime). Utrudnienia na kolei (awarie, zamknięcia torów, komunikacja zastępcza, odwołania) prosto z Otwartych Danych Kolejowych PKP PLK – na publicznym serwerze działają od razu; lokalnie po ustawieniu darmowego klucza ROZKLAD_PLK_API_KEY.

Ceny: plan_journey podaje cenę z oficjalnego cennika przewoźnika dla PKP Intercity (TLK/IC według odległości po torze, EIC/EIP według par stacji) oraz Polregio, Kolei Mazowieckich, Śląskich, Dolnośląskich, Małopolskich, ŁKA i Arrivy (bilet normalny, 2. klasa, według odległości). Gdy odległość wypada blisko granicy przedziału cennika, podajemy widełki, np. 68–69 zł – przebieg toru w danych różni się od odległości taryfowej o kilka km. To cena maksymalna biletu normalnego (bez ulg i promocji); w sprzedaży często jest niższa – rabaty PKP IC, taryfy wojewódzkie (np. Taryfa Pomorska, Małopolska) i oferty przewoźników. Cenniki są informacją publiczną wykorzystywaną na podstawie art. 5 ustawy o otwartych danych. Aktualizacja: npm run build-fares -- <cennik.pdf> <url> <obowiązuje-od> (PKP IC) i python3 scripts/build-regional-fares.py (przewoźnicy regionalni). Dokładna cena i bilet: przy każdym połączeniu kolejowym plan_journey podaje link do wyszukiwarki Koleo (sprzedaje bilety wszystkich przewoźników kolejowych) z tą samą trasą i godziną – tam widać aktualną cenę z promocjami i można kupić bilet. Serwer nie pobiera cen ze sklepów przewoźników (nie ma do tego otwartego API, a automatyczne odpytywanie sklepów łamałoby ich regulaminy). Agent z przeglądarką (np. Claude in Chrome albo Playwright MCP) może jednak otworzyć ten link na Twoją prośbę i odczytać cenę – tak, jak zrobiłbyś to sam. Brak cen: komunikacja miejska, autobusy, SKM, Koleje Wielkopolskie (nie znaleźliśmy aktualnego cennika) – PR mile widziane.

Najszybciej: publiczny serwer (bez instalacji)

Adres MCP: https://rozklad.compabase.com/mcp (Streamable HTTP, bez logowania, limit 60 zapytań/min na IP).

  • Claude (web/desktop): Ustawienia → Connectors → Add custom connector → wklej adres.
  • ChatGPT: Settings → Connectors (tryb deweloperski) → dodaj serwer MCP z tym adresem.
  • Claude Code: claude mcp add --transport http rozklad https://rozklad.compabase.com/mcp
  • Cursor / VS Code: {"mcpServers": {"rozklad": {"url": "https://rozklad.compabase.com/mcp"}}}

Serwer hostuje Compabase pro publico bono, ze wszystkimi feedami (pociągi, PKS, FlixBus, komunikacja miejska). Przy intensywnym użyciu uruchom lokalnie (niżej).

Prywatność: publiczny serwer liczy wyłącznie zagregowane statystyki dzienne – ile razy użyto każdego narzędzia, z jakim skutkiem (np. „nie znaleziono miejsca”), nazwy klientów MCP i liczbę unikalnych użytkowników (sól zmieniana codziennie, trzymana tylko w pamięci). Nie zapisujemy adresów IP, współrzędnych ani tras. Podgląd: /stats.

Instalacja lokalna

Potrzebujesz Node.js ≥ 20. Zanim paczka trafi na npm, zamiast rozklad-mcp w poleceniach poniżej użyj github:ContentWriterco/rozklad-mcp (np. npx -y github:ContentWriterco/rozklad-mcp). Pierwsze uruchomienie pobiera ~40 MB rozkładów (potem cache i automatyczne odświeżanie co 12 h).

Claude Desktop

Settings → Developer → Edit Config i dopisz:

json
{  "mcpServers": {    "rozklad": {      "command": "npx",      "args": ["-y", "rozklad-mcp"]    }  }}

Claude Code

bash
claude mcp add rozklad --scope user -- npx -y rozklad-mcp

Cursor / Windsurf

~/.cursor/mcp.json (Windsurf: ~/.codeium/windsurf/mcp_config.json) – ten sam JSON co dla Claude Desktop.

VS Code (Copilot)

.vscode/mcp.json:

json
{ "servers": { "rozklad": { "type": "stdio", "command": "npx", "args": ["-y", "rozklad-mcp"] } } }

OpenAI Codex CLI

~/.codex/config.toml:

toml
[mcp_servers.rozklad]command = "npx"args = ["-y", "rozklad-mcp"]tool_timeout_sec = 120

Zdalnie (HTTP) – ChatGPT, agenci w chmurze, n8n

bash
npx -y rozklad-mcp --http --port 3000 --host 0.0.0.0# endpoint: http://twoj-serwer:3000/mcp   (Streamable HTTP, bezstanowy)   health: /health

albo Docker:

bash
docker build -t rozklad-mcp .docker run -p 3000:3000 -v rozklad-cache:/data rozklad-mcp

Z kodu źródłowego

bash
git clone https://github.com/ContentWriterco/rozklad-mcp && cd rozklad-mcpnpm install && npm run buildnode dist/index.js plan "Zbąszyń" "Kraków" --date jutro --time 7:00

Konfiguracja

Zmienne środowiskowe (w JSON-ie klienta: "env": { "ROZKLAD_FEEDS": "trains,regional,city:Poznań" }):

ZmiennaDomyślnieOpis
ROZKLAD_FEEDStrains,regionalGrupy (trains, regional/pks, city), pojedyncze feedy (warszawa), miasta (city:Kraków), regiony (region:wielkopolskie), all, wykluczenia (-sindbad).
ROZKLAD_EXTRA_FEEDS–Własne pliki GTFS: moj-pks=https://…/gtfs.zip;inny=https://…
ROZKLAD_FEEDS_FILE–Własny rejestr feedów (np. w forku dla jednego regionu).
ROZKLAD_MIN_TRANSFER4Minimalny czas przesiadki (min).
ROZKLAD_MAX_WALK_M500Maks. dojście pieszo między przystankami przy przesiadce.
ROZKLAD_REFRESH_HOURS12Jak często sprawdzać nowe rozkłady.
ROZKLAD_LIVE10 wyłącza opóźnienia na żywo.
ROZKLAD_CACHE_DIRcache systemuGdzie trzymać pobrane rozkłady.
ROZKLAD_PLK_API_KEY–Klucz Otwartych Danych Kolejowych PKP PLK – włącza utrudnienia i komunikację zastępczą.
ROZKLAD_CONN_CACHE_MB400Budżet pamięci na tablice połączeń dla kolejnych dni.
ROZKLAD_STATS–Tryb HTTP: 1 = anonimowe dzienne liczniki użycia pod /stats.

Pamięć: domyślny zestaw (pociągi + PKS) ≈ 300–500 MB RAM i ~10 s startu. Komunikacja miejska dużych miast jest cięższa (Warszawa ≈ +250 MB, wszystkie miasta razem ≈ 1,2 GB i ~70 s startu), dlatego lokalnie włączasz ją świadomie, np. trains,regional,city:Warszawa.

CLI (bez agenta)

bash
rozklad-mcp plan "Warszawa" "Gdańsk" --date piątek --time 16:00rozklad-mcp plan "Zbąszyń" "Gdańsk Główny" --time 9:00 --arrive-byrozklad-mcp departures "Poznań Główny" --direction Wrocław --duration 180rozklad-mcp trip "IC 3510" --date jutrorozklad-mcp stops "szklarska"rozklad-mcp sources

Skąd dane? (i dlaczego bez klucza)

Wszystko pochodzi z otwartych danych publikowanych przez przewoźników i zarządców (ponowne wykorzystywanie informacji sektora publicznego, Krajowy Punkt Dostępowy MMTIS):

Serwer nie scrapuje stron przewoźników. Odpowiedzi zawierają wymagane atrybucje źródeł. Dane bywają niekompletne (np. zmiany w ostatniej chwili, autobusowa komunikacja zastępcza) – przed ważną podróżą sprawdź u przewoźnika.

Brakuje Twojego PKS-u albo miasta? 🙋

To najprostszy i najcenniejszy sposób, żeby pomóc. Większość PKS-ów nie publikuje jeszcze danych – ale coraz więcej musi (rozporządzenie UE 2017/1926). Jeśli znasz link do pliku GTFS:

  1. dopisz wpis do feeds/feeds.json (szablon w CONTRIBUTING.md),
  2. npm run check-feeds – sprawdzi, czy link działa,
  3. otwórz Pull Request.

Nie programujesz? Otwórz zgłoszenie „Dodaj przewoźnika” z linkiem albo nazwą firmy – albo napisz do przewoźnika, żeby opublikował GTFS w KPD.

Szukamy pomocy: Wrocław (blokuje pobieranie automatyczne), Zielona Góra i Leszno (linki z KPD nie działają), Olsztyn, Częstochowa, PKS-y w całej Polsce, GTFS-Realtime kolejnych miast, aktualny cennik Kolei Wielkopolskich.

Jak to działa

  • GTFS (pociągi + autobusy + miasta) łączony w jedną sieć w pamięci; przystanki tej samej stacji grupowane, przystanki w promieniu 500 m łączone przejściem pieszym – stąd przesiadki pociąg ↔ PKS na dworcach.
  • Wyszukiwanie: Connection Scan Algorithm w wariancie wielokryterialnym (czas przyjazdu × liczba przesiadek) – kilkadziesiąt ms na zapytanie dla całej Polski.
  • Opóźnienia: JSON z danymi PKP PLK (pociągi) i GTFS-Realtime miast (własny dekoder protobuf, bez zależności), cache 60–90 s.
  • Zero natywnych zależności (działa na macOS/Windows/Linux/ARM), ~3 tys. linii TypeScriptu – łatwo zrozumieć i rozbudować.

Rozwój

bash
npm installnpm test            # build + testy (bez internetu, na syntetycznej sieci)npm run check-feeds # czy wszystkie linki w rejestrze działająROZKLAD_LOG=debug node dist/index.js plan "A" "B"

Pomysły na rozwój: taryfy wojewódzkie (Pomorska, Małopolska, Kujawsko-Pomorska) i ceny biletów miejskich, opóźnienia na żywo w wyszukiwaniu połączeń, mapy tras (shapes), utrwalony indeks dla szybszego startu.

Licencja

Kod: MIT. Dane: na licencjach źródeł – patrz data_sources i feeds/feeds.json. Projekt niezależny, niezwiązany z Grupą PKP ani przewoźnikami.


English

[Animation: a user asks an AI assistant how to get from Zbąszyń to Kórnik; the assistant uses rozklad-mcp and answers with an IC train, a short walk and a PKS bus, with times and price]

rozklad-mcp is an MCP server that gives AI assistants and agents Polish public transport timetables: every train in Poland (all carriers dispatched by PKP PLK – PKP Intercity, Polregio, Koleje Mazowieckie, SKM, regional railways), PKS/regional buses that publish open data, FlixBus/FlixTrain services to and from Poland, and urban transit in ~25 cities (Warsaw, Kraków, Łódź, Poznań, Gdańsk/Gdynia, Silesia GZM, Szczecin, Lublin, Białystok…).

  • plan_journey – multi-criteria connection scan with train ↔ bus ↔ tram transfers, depart-after / arrive-by, coordinates as endpoints, published price-list fares of PKP Intercity and regional rail carriers, plus a Koleo link with the exact current price and tickets
  • departures – live departure board with platforms and delays
  • trip_details – full route of a train or bus with live delays and cancellations (trains; city transit in Kraków, Poznań, Gdańsk, Szczecin)
  • rail_disruptions – official PKP PLK disruptions: failures, track closures, replacement buses, cancellations (affected trains are flagged ⚠ in all answers)
  • weather_warnings – official IMGW-PIB weather and flood warnings for the county of a place (also added to journeys automatically)
  • find_stops, nearby_stops, data_sources

Try it in 30 seconds: add https://rozklad.compabase.com/mcp as a custom connector in Claude or ChatGPT, or run claude mcp add --transport http rozklad https://rozklad.compabase.com/mcp. Locally: npx -y rozklad-mcp (stdio) in any MCP client, or --http for a Streamable HTTP endpoint. No API key – open GTFS data (PKP PLK via mkuran.pl, carriers' and cities' own feeds). Station names work with or without Polish diacritics; a bare town name means all of its stops.

Example prompts: "How do I get from Wrocław to Zakopane by 9 am tomorrow?", "What leaves Kraków Rondo Mogilskie now?", "How much is the IC from Poznań to Warsaw on Friday evening?"

Contributions of new feeds are very welcome – see CONTRIBUTING.md.

来源:README.md,提交 592532c

工具

8

plan_journey

Plan a journey (train / bus)

Find connections between two places in Poland, including changes between trains and buses (PKS). from/to accept a station name ("Poznań Główny"), a town ("Zakopane" = all its stops) or coordinates "52.40,16.91". Returns several options with times, platforms, operators, changes and live delays (today).

输入参数to必填datefrom必填livetimemodesresultsarrive_bymax_transfersmin_transfer_minutes

departures

Station departures / arrivals board

Departure (or arrival) board for a station or stop: time, live delay, train/bus line, platform, destination and main stops. Optionally only services going towards a given place.

输入参数datelivetimelimitmodesstation必填arrivalsdirectionduration_minutes

trip_details

Train / trip details with live delay

All stops of one train or bus run with times, platforms and live delays/cancellations. Identify it by `ref` (from plan_journey/departures) or by train number/name (e.g. '3510', 'IC 3510', 'Podhalanin') plus date.

输入参数refdatelivetrain

find_stops

Find stations and stops

Search stations/stops by name (fuzzy, diacritics optional). Shows modes, coordinates and source feeds.

输入参数limitmodesquery必填

nearby_stops

Stops near a location

Stations and stops within a radius of coordinates (e.g. after geocoding an address).

输入参数lat必填lon必填modesradius_m

data_sources

Data sources, coverage and licences

Which carriers/feeds are loaded, their validity dates, licences and required attribution; which feeds can be enabled.

无需输入参数。

rail_disruptions

Railway disruptions (PKP PLK)

Current and upcoming disruptions on Polish railway lines from PKP PLK: track closures, replacement buses (ZKA), cancellations, diversions. Optional `query` filters by station name or text (e.g. "Kraków", "ZKA"). plan_journey, departures and trip_details already flag affected trains.

输入参数limitquery

weather_warnings

Weather & flood warnings (IMGW)

Official IMGW-PIB meteorological warnings (storm, wind, frost, heat, snow, ice...) and flood warnings in Poland. With `place` (town, station or "lat,lon"): warnings for its county (powiat); without: national overview. plan_journey already adds warnings for the start and destination.

输入参数place

版本历史

2
  1. v0.4.1最新Oct 23, 2026
  2. v0.4.0Oct 21, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分