Munich public transport (MVG) - departures, schedules, and alerts. Use when user shares location in Munich, asks about transport schedules, nearby stops, or transit disruptions.
Munich public transport departures, schedules, and alerts.
When user shares location or asks about nearby transport:
python3 mvg-departures.py <lat> <lng>
# With options
python3 mvg-departures.py <lat> <lng> --limit 5 --offset 3 --compact
| Flag | Description |
|---|---|
--limit N | Max departures (default: 8) |
--offset MIN | Walking time to stop (filters out departures leaving too soon) |
--types U,S,BUS,TRAM | Filter by transport type |
--compact | One-line format |
--json| JSON output |
# Central Munich
python3 mvg-departures.py 48.137 11.575
# Only U-Bahn and S-Bahn, 5 min walk to station
python3 mvg-departures.py 48.137 11.575 --types U,S --offset 5
# Compact output
python3 mvg-departures.py 48.137 11.575 --compact
📍 **Marienplatz** (München)
🚇 U3 → Fürstenried West (2 min)
🚇 U6 → Klinikum Großhadern (3 min)
🚆 S1 → Freising (5 min +2)
Delay shown as (+N) minutes.
When user sends a location via Telegram/Signal, automatically show nearby departures:
python3 mvg-departures.py <lat> <lng> --limit 6 --compact
Check for strikes, disruptions, construction:
web_search "München MVG Streik Störung" --freshness pd
Streik — strikeStörung — disruptionSperrung — closureAusfall — cancellationVerspätung — delayBauarbeiten — construction| Service | Operator | During MVG Strike |
|---|---|---|
| U-Bahn | MVG | ❌ Affected |
| Tram | MVG | ❌ Affected |
| Bus (1-199) | MVG | ❌ Affected |
| S-Bahn | DB | ✅ Usually runs |
| Regional trains | DB | ✅ Usually runs |
⚠️ S-Bahn is operated by Deutsche Bahn, not MVG!
Add to HEARTBEAT.md for automated checks:
### 🚨 MVG Alerts (every heartbeat)
- web_search: "München MVG Streik Störung" freshness=pd
- Report NEW alerts only (check reportedAlerts in state)
### 📍 On Location
- python3 mvg-departures.py <lat> <lng> --limit 6
Track reported alerts in state file:
{
"reportedAlerts": ["mvg-streik-2026-02-02"],
"acknowledgedAlerts": []
}
Uses unofficial MVG API:
Base: https://www.mvg.de/api/bgw-pt/v3
GET /stations/nearby?latitude=X&longitude=Y
GET /departures?globalId=STATION_ID&limit=N&offsetInMinutes=M
Python package: pip install mvg
pip install mvg