transport-gzm
Provides tools for AI agents to query live public transport data for GZM (Silesian Metropolis) including vehicle positions, trip updates, service alerts, and next arrivals.
README
transport_gzm
MCP server wrapping the GTFS-RT live transit feed for GZM (Górnośląsko-Zagłębiowska Metropolia) — the Silesian Metropolis public transport operator in Poland.
Provides a small, focused set of tools so AI agents can answer questions like:
- "What buses/trams are currently running on route X?"
- "Is vehicle Y delayed? Where is it right now?"
- "What alerts are currently active (delays, disruptions, works)?"
- "When does the next departure of line 6 arrive at stop Z?"
How it works
GZM publishes a public GTFS-RT feed at
https://gtfsrt.transportgzm.pl:5443/gtfsrt/gzm (no auth, CC-BY licensed).
It exposes three logical sub-feeds:
| Path | Content |
|---|---|
/gtfsrt/gzm/all |
full bundle (all three sub-feeds) |
/gtfsrt/gzm/vehiclePositions |
live GPS positions of every vehicle |
/gtfsrt/gzm/tripUpdates |
arrival-time deltas and stop-skips |
/gtfsrt/gzm/alerts |
service alerts (works, delays, etc.) |
This server fetches the protobuf, decodes it, and exposes it as 8 tools that return JSON-friendly structures sized for LLM context windows.
Quick start
Run with Docker (recommended)
docker run -i --rm ghcr.io/wiktor102/transport-gzm:latest
Wire it into your MCP client (Claude Desktop, opencode, …):
{
"mcpServers": {
"transport-gzm": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/wiktor102/transport-gzm:latest"]
}
}
}
Run from source
pip install -e .
transport-gzm
…or with uv:
uv run --with mcp[cli] --with gtfs-realtime-bindings --with httpx \
python -m transport_gzm.server
Tools
| Tool | Purpose |
|---|---|
health |
Check feed availability + report feed age |
feed_summary |
Counts of vehicles, trips, alerts currently in the feed |
vehicles |
Search/filter live vehicle positions (by route, stop) |
vehicle_by_id |
Get a single vehicle's current position |
trip_updates |
Arrival predictions; filter by route, stop, or trip |
next_arrivals |
Upcoming arrivals at a stop — like a digitalt board |
alerts |
Active service alerts (works, delays, detours) |
alert_by_id |
One alert by id |
See docs/tools.md for full parameter documentation and
output schemas.
Configuration
| Env var | Default | Purpose |
|---|---|---|
GZM_FEED_BASE_URL |
https://gtfsrt.transportgzm.pl:5443/gtfsrt/gzm |
Override the base URL |
GZM_HTTP_TIMEOUT |
10 |
HTTP timeout in seconds |
GZM_CACHE_TTL |
10 |
In-process feed cache TTL in seconds |
GZM_MAX_VEHICLES |
200 |
Default cap for vehicles() |
GZM_MAX_TRIPS |
200 |
Default cap for trip_updates() |
GZM_MAX_ALERTS |
100 |
Default cap for alerts() |
GZM_USER_AGENT |
transport-gzm-mcp/0.1 (+https://github.com/Wiktor102/transport-gzm) |
Outgoing UA |
LOG_LEVEL |
INFO |
DEBUG / INFO / WARNING / ERROR |
License
MIT. GTFS-RT data © Górnośląsko-Zagłębiowska Metropolia, CC-BY 4.0.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.