Example Use Cases
Example Use Cases
These examples show how AI assistants use the Traffic Analytics MCP tools to answer real traffic analysis questions. Each example includes the natural language prompt and the kind of response you can expect.
Junction Congestion Monitoring
Which of my junctions have the worst delays right now? Show me the top 5.See the response
π Step 1: Finding all active junctions...Tool: tomtom-junction-searchSQL: SELECT junction_id, name, country_code FROM junctions WHERE status = 'ACTIVE'
Found 47 active junctions across 3 countries.
π Step 2: Getting real-time delays for all junctions...Tool: tomtom-junction-live-data (47 junction IDs, batched)SQL: SELECT junction_id, ROUND(AVG(delay_sec), 1) as avg_delay, MAX(queue_length_meters) as max_queue FROM approaches GROUP BY junction_id ORDER BY avg_delay DESC LIMIT 5
π¦ Top 5 Junctions by Delay:
| Rank | Junction | Avg Delay | Max Queue ||------|----------|-----------|-----------|| 1 | A10/S112 Interchange | 142.3s | 385m || 2 | Schiphol Terminal Exit | 98.7s | 220m || 3 | Centrum Ring North | 87.4s | 195m || 4 | A2/A9 Merge | 65.2s | 150m || 5 | Zuidas Business District | 52.1s | 110m |
β οΈ The A10/S112 Interchange has significantly higher delays than the rest,with queue lengths extending nearly 400 meters. This may indicate an incidentor unusual congestion.Route Performance Analysis
Are any of my monitored routes significantly delayed?Show me the bottleneck segments.See the response
π Step 1: Checking all monitored routes for delays...Tool: tomtom-route-searchSQL: SELECT route_id, route_name, delay_time, travel_time, ROUND(delay_time * 100.0 / NULLIF(travel_time, 0), 1) as delay_pct FROM routes WHERE route_status = 'ACTIVE' AND delay_time > 60 ORDER BY delay_pct DESC
Found 3 routes with significant delays (>60 seconds):
| Route | Delay | Travel Time | Delay % ||-------|-------|-------------|---------|| A10 Ring South | 8m 42s | 22m 15s | 39.1% || A4 SchipholβDen Haag | 5m 18s | 35m 40s | 14.9% || A2 AmsterdamβUtrecht | 2m 05s | 28m 12s | 7.4% |
π Step 2: Getting segment-level details for the worst route...Tool: tomtom-route-monitoring-details (route: A10 Ring South)SQL: SELECT segment_id, current_speed, typical_speed, (typical_speed - current_speed) as speed_drop, segment_length FROM segments WHERE current_speed < typical_speed * 0.5 ORDER BY speed_drop DESC LIMIT 5
π§ Bottleneck segments on A10 Ring South:
| Segment | Current | Typical | Speed Drop | Length ||---------|---------|---------|------------|--------|| seg-4421 | 18 km/h | 95 km/h | -77 km/h | 1.2 km || seg-4422 | 25 km/h | 90 km/h | -65 km/h | 0.8 km || seg-4420 | 35 km/h | 85 km/h | -50 km/h | 1.0 km |
π‘ The bottleneck is concentrated in a 3 km stretch (segments 4420β4422),where speeds have dropped to 18β35 km/h against typical speeds of 85β95 km/h.Multi-Area Incident Comparison
Compare traffic incidents between downtown Amsterdam, Schiphol Airport area,and the A10 ring road right now.See the response
π Querying incidents for 3 areas...Tool: tomtom-traffic-incidentsAreas: - Downtown Amsterdam: 4.87,52.36,4.92,52.38 - Schiphol Airport: 4.72,52.28,4.80,52.33 - A10 Ring Road: 4.82,52.32,4.95,52.40
SQL: SELECT area_name, COUNT(*) as total, SUM(CASE WHEN iconCategory = 'Accident' THEN 1 ELSE 0 END) as accidents, SUM(CASE WHEN iconCategory = 'RoadWorks' THEN 1 ELSE 0 END) as roadworks, SUM(CASE WHEN iconCategory = 'JamLane' THEN 1 ELSE 0 END) as jams, ROUND(AVG(CASE WHEN delay IS NOT NULL THEN delay END)) as avg_delay_sec FROM incidents GROUP BY area_name
π¦ Incident Comparison:
| Area | Total | Accidents | RoadWorks | Jams | Avg Delay ||------|-------|-----------|-----------|------|-----------|| A10 Ring Road | 12 | 2 | 5 | 5 | 245s || Downtown Amsterdam | 8 | 1 | 4 | 3 | 128s || Schiphol Airport | 3 | 0 | 2 | 1 | 67s |
β οΈ The A10 Ring Road has the most incidents and highest average delays.Two active accidents are contributing to the elevated delay levels.Schiphol area is relatively clear with only minor roadworks.Area Congestion Trends
Analyze morning rush hour congestion in central Amsterdamover the past two weeks.See the response
π Analyzing area congestion...Tool: tomtom-area-analytics-statsRegion: Central Amsterdam polygonDate range: 2026-03-16 to 2026-03-28Hours: [7, 8, 9] (morning rush)Data types: CONGESTION_LEVEL, SPEED
SQL queries: daily_trend: SELECT time::DATE as day, ROUND(AVG(congestion_level), 1) as avg_congestion, ROUND(AVG(speed), 1) as avg_speed FROM timed_data WHERE aggregation_type = 'daily' GROUP BY day ORDER BY day
worst_days: SELECT time::DATE as day, ROUND(AVG(congestion_level), 1) as congestion FROM timed_data WHERE aggregation_type = 'daily' GROUP BY day ORDER BY congestion DESC LIMIT 3
π Daily Congestion Trend (Morning Rush, 07:00β09:00):
| Date | Avg Congestion | Avg Speed ||------|---------------|-----------|| Mar 16 (Mon) | 62.3 | 28.4 km/h || Mar 17 (Tue) | 58.1 | 31.2 km/h || Mar 18 (Wed) | 65.7 | 26.8 km/h || Mar 19 (Thu) | 61.4 | 29.1 km/h || Mar 20 (Fri) | 54.2 | 33.5 km/h || Mar 21 (Sat) | 22.1 | 48.7 km/h || Mar 22 (Sun) | 18.5 | 51.2 km/h || ... | ... | ... |
π΄ Worst days: Wednesday Mar 18 (65.7), Monday Mar 23 (64.8), Thursday Mar 26 (63.1)
π‘ Weekday mornings consistently show 54β66% congestion with speeds droppingto 27β34 km/h. Wednesdays and Mondays tend to be the worst. Weekend morningsare dramatically lighter at 18β22% congestion.Historical Junction Pattern Analysis
Show me the hourly delay pattern for the A10/S112 Interchangeover the past 2 days, when does it get worst?See the response
π Fetching historical data...Tool: tomtom-junction-archiveJunction: A10/S112 InterchangeDate range: 2026-03-28 to 2026-03-29
SQL: SELECT date_part('hour', time::TIMESTAMP) as hour, ROUND(AVG(delay_sec), 1) as avg_delay, MAX(delay_sec) as peak_delay, ROUND(AVG(queue_length_meters), 0) as avg_queue FROM approaches GROUP BY hour ORDER BY hour
β° Hourly Delay Pattern (A10/S112 Interchange):
| Hour | Avg Delay | Peak Delay | Avg Queue ||------|-----------|------------|-----------|| 06:00 | 12.3s | 28s | 35m || 07:00 | 45.8s | 112s | 120m || 08:00 | 98.4s | 215s | 310m || 09:00 | 72.1s | 168s | 225m || 10:00 | 25.6s | 55s | 65m || ... | ... | ... | ... || 16:00 | 38.2s | 85s | 95m || 17:00 | 88.7s | 198s | 285m || 18:00 | 65.3s | 145s | 190m || 19:00 | 22.4s | 48s | 55m |
π΄ Peak congestion: 08:00 (avg 98.4s delay, queues up to 310m)π Secondary peak: 17:00 (avg 88.7s delay, queues up to 285m)
π‘ The junction has a classic dual-peak pattern. Morning rush peaks at 08:00with average delays nearly 100 seconds. The evening peak at 17:00 is slightlylower but still severe. Off-peak hours (10:00β15:00) show minimal delays.Combined Multi-Tool Workflow
Find all junctions in the Netherlands with traffic lights,then show me which ones currently have the longest queues.See the response
π Step 1: Finding Dutch junctions with traffic lights...Tool: tomtom-junction-searchSQL: SELECT junction_id, name FROM junctions WHERE country_code = 'NLD' AND traffic_lights = 1 AND status = 'ACTIVE'
Found 23 active signalized junctions in the Netherlands.
π Step 2: Getting real-time queue data for all 23 junctions...Tool: tomtom-junction-live-data (23 junction IDs)SQL queries: queue_ranking: SELECT junction_id, approach_id, queue_length_meters, delay_sec FROM approaches WHERE queue_length_meters > 0 ORDER BY queue_length_meters DESC LIMIT 10
junction_summary: SELECT junction_id, MAX(queue_length_meters) as max_queue, ROUND(AVG(delay_sec), 1) as avg_delay, COUNT(*) as num_approaches FROM approaches GROUP BY junction_id ORDER BY max_queue DESC LIMIT 5
π¦ Top 5 Signalized Junctions by Queue Length:
| Junction | Max Queue | Avg Delay | Approaches ||----------|-----------|-----------|------------|| A10/S112 Interchange | 385m | 142.3s | 4 || Zuidas S109 | 210m | 78.5s | 6 || A2 Entrance Amstel | 180m | 65.2s | 3 || Ringweg A10 West | 145m | 52.8s | 4 || Centraal Station North | 120m | 41.3s | 5 |
π‘ The A10/S112 Interchange stands out with queues nearly double the nextjunction. This is consistent with historical patterns showing this junctionas the most congested during peak hours.