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
1🔍 Step 1: Finding all active junctions...
2Tool: tomtom-junction-search
3SQL: SELECT junction_id, name, country_code FROM junctions WHERE status = 'ACTIVE'
4
5Found 47 active junctions across 3 countries.
6
7📊 Step 2: Getting real-time delays for all junctions...
8Tool: tomtom-junction-live-data (47 junction IDs, batched)
9SQL: SELECT junction_id, ROUND(AVG(delay_sec), 1) as avg_delay,
10 MAX(queue_length_meters) as max_queue
11 FROM approaches GROUP BY junction_id ORDER BY avg_delay DESC LIMIT 5
12
13🚦 Top 5 Junctions by Delay:
14
15| Rank | Junction | Avg Delay | Max Queue |
16|------|----------|-----------|-----------|
17| 1 | A10/S112 Interchange | 142.3s | 385m |
18| 2 | Schiphol Terminal Exit | 98.7s | 220m |
19| 3 | Centrum Ring North | 87.4s | 195m |
20| 4 | A2/A9 Merge | 65.2s | 150m |
21| 5 | Zuidas Business District | 52.1s | 110m |
22
23⚠️ The A10/S112 Interchange has significantly higher delays than the rest,
24with queue lengths extending nearly 400 meters. This may indicate an incident
25or unusual congestion.

Route Performance Analysis

Are any of my monitored routes significantly delayed?
Show me the bottleneck segments.
See the response
1🔍 Step 1: Checking all monitored routes for delays...
2Tool: tomtom-route-search
3SQL: SELECT route_id, route_name, delay_time, travel_time,
4 ROUND(delay_time * 100.0 / NULLIF(travel_time, 0), 1) as delay_pct
5 FROM routes WHERE route_status = 'ACTIVE' AND delay_time > 60
6 ORDER BY delay_pct DESC
7
8Found 3 routes with significant delays (>60 seconds):
9
10| Route | Delay | Travel Time | Delay % |
11|-------|-------|-------------|---------|
12| A10 Ring South | 8m 42s | 22m 15s | 39.1% |
13| A4 Schiphol–Den Haag | 5m 18s | 35m 40s | 14.9% |
14| A2 Amsterdam–Utrecht | 2m 05s | 28m 12s | 7.4% |
15
16📊 Step 2: Getting segment-level details for the worst route...
17Tool: tomtom-route-monitoring-details (route: A10 Ring South)
18SQL: SELECT segment_id, current_speed, typical_speed,
19 (typical_speed - current_speed) as speed_drop, segment_length
20 FROM segments WHERE current_speed < typical_speed * 0.5
21 ORDER BY speed_drop DESC LIMIT 5
22
23🚧 Bottleneck segments on A10 Ring South:
24
25| Segment | Current | Typical | Speed Drop | Length |
26|---------|---------|---------|------------|--------|
27| seg-4421 | 18 km/h | 95 km/h | -77 km/h | 1.2 km |
28| seg-4422 | 25 km/h | 90 km/h | -65 km/h | 0.8 km |
29| seg-4420 | 35 km/h | 85 km/h | -50 km/h | 1.0 km |
30
31💡 The bottleneck is concentrated in a 3 km stretch (segments 44204422),
32where speeds have dropped to 1835 km/h against typical speeds of 8595 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
1📊 Querying incidents for 3 areas...
2Tool: tomtom-traffic-incidents
3Areas:
4 - Downtown Amsterdam: 4.87,52.36,4.92,52.38
5 - Schiphol Airport: 4.72,52.28,4.80,52.33
6 - A10 Ring Road: 4.82,52.32,4.95,52.40
7
8SQL: SELECT area_name,
9 COUNT(*) as total,
10 SUM(CASE WHEN iconCategory = 'Accident' THEN 1 ELSE 0 END) as accidents,
11 SUM(CASE WHEN iconCategory = 'RoadWorks' THEN 1 ELSE 0 END) as roadworks,
12 SUM(CASE WHEN iconCategory = 'JamLane' THEN 1 ELSE 0 END) as jams,
13 ROUND(AVG(CASE WHEN delay IS NOT NULL THEN delay END)) as avg_delay_sec
14 FROM incidents GROUP BY area_name
15
16🚦 Incident Comparison:
17
18| Area | Total | Accidents | RoadWorks | Jams | Avg Delay |
19|------|-------|-----------|-----------|------|-----------|
20| A10 Ring Road | 12 | 2 | 5 | 5 | 245s |
21| Downtown Amsterdam | 8 | 1 | 4 | 3 | 128s |
22| Schiphol Airport | 3 | 0 | 2 | 1 | 67s |
23
24⚠️ The A10 Ring Road has the most incidents and highest average delays.
25Two active accidents are contributing to the elevated delay levels.
26Schiphol area is relatively clear with only minor roadworks.
Analyze morning rush hour congestion in central Amsterdam
over the past two weeks.
See the response
1📊 Analyzing area congestion...
2Tool: tomtom-area-analytics-stats
3Region: Central Amsterdam polygon
4Date range: 2026-03-16 to 2026-03-28
5Hours: [7, 8, 9] (morning rush)
6Data types: CONGESTION_LEVEL, SPEED
7
8SQL queries:
9 daily_trend: SELECT time::DATE as day,
10 ROUND(AVG(congestion_level), 1) as avg_congestion,
11 ROUND(AVG(speed), 1) as avg_speed
12 FROM timed_data WHERE aggregation_type = 'daily'
13 GROUP BY day ORDER BY day
14
15 worst_days: SELECT time::DATE as day,
16 ROUND(AVG(congestion_level), 1) as congestion
17 FROM timed_data WHERE aggregation_type = 'daily'
18 GROUP BY day ORDER BY congestion DESC LIMIT 3
19
20📈 Daily Congestion Trend (Morning Rush, 07:0009:00):
21
22| Date | Avg Congestion | Avg Speed |
23|------|---------------|-----------|
24| Mar 16 (Mon) | 62.3 | 28.4 km/h |
25| Mar 17 (Tue) | 58.1 | 31.2 km/h |
26| Mar 18 (Wed) | 65.7 | 26.8 km/h |
27| Mar 19 (Thu) | 61.4 | 29.1 km/h |
28| Mar 20 (Fri) | 54.2 | 33.5 km/h |
29| Mar 21 (Sat) | 22.1 | 48.7 km/h |
30| Mar 22 (Sun) | 18.5 | 51.2 km/h |
31| ... | ... | ... |
32
33🔴 Worst days: Wednesday Mar 18 (65.7), Monday Mar 23 (64.8), Thursday Mar 26 (63.1)
34
35💡 Weekday mornings consistently show 5466% congestion with speeds dropping
36to 2734 km/h. Wednesdays and Mondays tend to be the worst. Weekend mornings
37are dramatically lighter at 1822% congestion.

Historical Junction Pattern Analysis

Show me the hourly delay pattern for the A10/S112 Interchange
over the past 2 days, when does it get worst?
See the response
1📊 Fetching historical data...
2Tool: tomtom-junction-archive
3Junction: A10/S112 Interchange
4Date range: 2026-03-28 to 2026-03-29
5
6SQL: SELECT date_part('hour', time::TIMESTAMP) as hour,
7 ROUND(AVG(delay_sec), 1) as avg_delay,
8 MAX(delay_sec) as peak_delay,
9 ROUND(AVG(queue_length_meters), 0) as avg_queue
10 FROM approaches
11 GROUP BY hour
12 ORDER BY hour
13
14⏰ Hourly Delay Pattern (A10/S112 Interchange):
15
16| Hour | Avg Delay | Peak Delay | Avg Queue |
17|------|-----------|------------|-----------|
18| 06:00 | 12.3s | 28s | 35m |
19| 07:00 | 45.8s | 112s | 120m |
20| 08:00 | 98.4s | 215s | 310m |
21| 09:00 | 72.1s | 168s | 225m |
22| 10:00 | 25.6s | 55s | 65m |
23| ... | ... | ... | ... |
24| 16:00 | 38.2s | 85s | 95m |
25| 17:00 | 88.7s | 198s | 285m |
26| 18:00 | 65.3s | 145s | 190m |
27| 19:00 | 22.4s | 48s | 55m |
28
29🔴 Peak congestion: 08:00 (avg 98.4s delay, queues up to 310m)
30🟠 Secondary peak: 17:00 (avg 88.7s delay, queues up to 285m)
31
32💡 The junction has a classic dual-peak pattern. Morning rush peaks at 08:00
33with average delays nearly 100 seconds. The evening peak at 17:00 is slightly
34lower but still severe. Off-peak hours (10:0015: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
1🔍 Step 1: Finding Dutch junctions with traffic lights...
2Tool: tomtom-junction-search
3SQL: SELECT junction_id, name
4 FROM junctions
5 WHERE country_code = 'NLD' AND traffic_lights = 1 AND status = 'ACTIVE'
6
7Found 23 active signalized junctions in the Netherlands.
8
9📊 Step 2: Getting real-time queue data for all 23 junctions...
10Tool: tomtom-junction-live-data (23 junction IDs)
11SQL queries:
12 queue_ranking: SELECT junction_id, approach_id,
13 queue_length_meters, delay_sec
14 FROM approaches
15 WHERE queue_length_meters > 0
16 ORDER BY queue_length_meters DESC LIMIT 10
17
18 junction_summary: SELECT junction_id,
19 MAX(queue_length_meters) as max_queue,
20 ROUND(AVG(delay_sec), 1) as avg_delay,
21 COUNT(*) as num_approaches
22 FROM approaches
23 GROUP BY junction_id
24 ORDER BY max_queue DESC LIMIT 5
25
26🚦 Top 5 Signalized Junctions by Queue Length:
27
28| Junction | Max Queue | Avg Delay | Approaches |
29|----------|-----------|-----------|------------|
30| A10/S112 Interchange | 385m | 142.3s | 4 |
31| Zuidas S109 | 210m | 78.5s | 6 |
32| A2 Entrance Amstel | 180m | 65.2s | 3 |
33| Ringweg A10 West | 145m | 52.8s | 4 |
34| Centraal Station North | 120m | 41.3s | 5 |
35
36💡 The A10/S112 Interchange stands out with queues nearly double the next
37junction. This is consistent with historical patterns showing this junction
38as the most congested during peak hours.