Skip to main content
Glama
darshjoshi

Pitwall F1

by darshjoshi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PITWALL_CACHE_DIRNoDownloaded F1 data is cached on your machine at `~/.cache/pitwall-f1` (override it with `PITWALL_CACHE_DIR`) so repeat questions are fast.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_seasonsA

List all available F1 seasons (2018-present).

list_racesB

List all races and sessions for a season with dates and session paths.

Args: year: Season year (2018-2026)

get_race_infoB

Get session details and list of available data feeds.

Args: year: Season year race: Race name (partial match — 'china', 'monaco', 'silverstone') session_type: 'Race', 'Qualifying', 'Sprint', 'Practice 1', etc.

get_standingsB

Get race classification — positions, gaps, best laps, pit stops, retirements.

Args: year: Season year (2018-2026) race: Race name (partial match — 'china', 'australia', 'monaco') session_type: 'Race', 'Qualifying', 'Sprint', etc.

get_lap_timesB

Get lap-by-lap times for one or all drivers. Filterable by lap range.

Args: year: Season year race: Race name (partial match) driver: Driver TLA (e.g. 'VER') or empty for all session_type: Session type lap_start: First lap to include lap_end: Last lap to include

get_telemetryA

Get car telemetry — speed, RPM, throttle, brake, gear, DRS for a specific lap.

Returns ~60-90 samples at ~4Hz. Set lap=0 to see available laps.

Args: driver: Driver TLA (e.g. 'VER', 'HAM') — required year: Season year (2018-2026) race: Race name (partial match) lap: Lap number (0 = show available laps) session_type: Session type

get_tyre_strategyB

Get tyre strategy for every driver — compound, stint length, new/used tyres.

Args: year: Season year race: Race name (partial match) session_type: Session type

get_pit_stopsB

Get all pit stops sorted by fastest stop time.

Args: year: Season year race: Race name (partial match) session_type: Session type

get_race_controlB

Get race control messages — flags, penalties, safety cars, investigations.

Args: year: Season year race: Race name (partial match) session_type: Session type category: Filter: 'Flag', 'SafetyCar', 'Drs', 'Other', or empty for all

get_weatherB

Get weather conditions during a session — temperature, rain, wind, humidity.

Args: year: Season year race: Race name (partial match) session_type: Session type

get_speed_trapsB

Get speed trap readings at 4 measurement points (I1, I2, FL, ST) per driver.

Args: year: Season year race: Race name (partial match) session_type: Session type

get_driver_comparisonA

Compare two drivers head-to-head — position, pace, strategy, pit stops.

Args: driver_a: First driver TLA (e.g. 'VER') driver_b: Second driver TLA (e.g. 'HAM') year: Season year race: Race name (partial match) session_type: Session type

get_historical_resultsB

Get historical F1 race results from 1950 to present.

Args: year: Specific year (0 = current season) race: Circuit name (e.g. 'monza', 'monaco') driver: Driver ID (e.g. 'verstappen', 'hamilton')

get_championship_standingsA

Get championship standings from 1950 to present.

Args: year: Season year (0 = current) standings_type: 'driver' or 'constructor'

get_scheduleB

Get the full race calendar for a specific year (excluding testing).

get_session_infoB

Get start time and status of a specific session (R=Race, Q=Quali, FP1, etc).

get_race_resultsC

Get the final classification (Position, Driver, Team, Points).

get_fastest_lap_dataC

Get detailed stats for a driver's fastest lap (Sector times, Speed trap).

plot_telemetry_comparisonC

Generates a Speed Trace comparison image between two drivers. Returns: An ImageContent object that can be displayed in the client.

plot_multi_telemetry_comparisonB

Compare full telemetry (speed, throttle, brake, gear) between two laps for same driver. Example: Compare first lap vs last lap for Piastri Brazil 2024

plot_driver_telemetry_comparisonB

Plot comprehensive telemetry comparison (speed, throttle, brake, gear) between two drivers for the same lap.

Args: year: Season year gp: Grand Prix name driver1: First driver identifier (3-letter code) driver2: Second driver identifier (3-letter code) lap_number: Lap number to compare session: Session type (R=Race, Q=Qualifying, FP1/FP2/FP3=Practice, S=Sprint)

Returns: ImageContent with 4 subplots showing speed, throttle, brake, and gear data for both drivers

plot_gear_shiftsC

Generates a Gear Shift chart for a single driver.

get_weather_dataB

Get detailed weather conditions (Rain, Track Temp, Wind).

get_circuit_infoC

Get track layout info (Corners, DRS Zones).

get_driver_tyre_detailC

Get detailed tyre stint data for a specific driver via FastF1 — compound, laps, and degradation.

get_pit_stop_detailB

Get detailed pit stop data — stationary time, pit-lane time, and tyre compound swap per stop.

Stationary time (~2s) is the time the car is stopped in the box; pit-lane time (in->out, ~20-30s) is the full transit. Sourced from F1's PitStopSeries + TyreStintSeries so durations match get_pit_stops / get_fastest_pit_stops.

get_driver_standingsB

Get driver championship standings after a specific round or latest.

get_constructor_standingsC

Get constructor/team championship standings.

get_sprint_resultsB

Get sprint race results (for sprint weekends).

compare_sector_timesC

Compare sector times between two drivers.

get_lap_times_fastf1C

Get all lap times for a driver via FastF1 — includes compound and tyre life per lap.

get_deleted_lapsC

Get all laps deleted due to track limits or other violations.

get_position_changesC

Track position changes throughout the race for a driver.

get_track_statusB

Get track status changes (yellow flags, safety car, red flag, etc.).

get_race_control_messagesB

Get all race control messages during a session.

get_driver_infoC

Get detailed driver information (number, team, headshot, etc.).

get_team_lapsB

Get all laps for a specific team (both drivers).

get_speed_trap_comparisonC

Compare speed trap data across all drivers.

analyze_drs_usageB

Analyze DRS usage on a driver's fastest lap.

DRS-open is detected via the FastF1 car-data codes 10/12/14 (8 = eligible but not yet open; 0/1 = closed). From 2026, F1 replaced DRS with active aero, so no activations are reported.

compare_tire_compoundsB

Compare average lap times across different tire compounds.

get_stint_analysisC

Analyze each stint: compound, lap times, degradation.

get_dnf_listC

Get list of drivers who did not finish the race and reasons.

get_fastest_sectorsC

Find who set the fastest time in each sector.

compare_grid_to_finishC

Compare starting grid positions to finishing positions.

get_qualifying_progressionB

Show who was eliminated in Q1, Q2 and who made it to Q3.

analyze_lap_consistencyC

Analyze lap time consistency (standard deviation, variation).

analyze_brake_pointsC

Analyze braking patterns on fastest lap.

analyze_rpm_dataC

Analyze engine RPM patterns on fastest lap.

get_fastest_pit_stopsA

Get the fastest pit stops of the race, ranked by stationary time.

Stationary time = how long the car is stopped in the box (the ~2s 'pit stop' fans mean). Pit-lane time (in->out, ~20-30s) is shown alongside for context. Sourced from F1's PitStopSeries so it matches get_pit_stops / get_pit_stop_detail.

compare_tire_age_performanceC

Compare lap times on fresh vs used tires.

get_penaltiesC

Get all penalties issued during the race.

get_race_winners_historyB

Get race winners for a specific GP over the last N years.

detect_overtakesB

Detect when a driver overtook others (position gained between laps).

get_gap_to_leaderC

Track gap to race leader throughout the race.

analyze_long_run_paceC

Analyze race simulation pace from practice sessions.

team_head_to_headC

Compare both drivers in a team head-to-head.

get_track_recordB

Get the all-time lap record for a specific circuit (via Ergast).

get_session_summaryC

Get a comprehensive quick summary of a session.

compare_strategiesC

Compare tire strategies between two drivers.

analyze_starting_tiresC

Analyze which tire compounds were used at race start.

get_personal_best_lapsC

Get each driver's personal best lap time.

get_live_session_statusA

Live F1 session status: session name, flag/track status, lap count. No auth required. Honest 'no live session' message when nothing is running.

get_live_positionsA

Live running order with gap-to-leader and interval. No auth required.

get_live_lap_timesA

Live last + best lap time per driver. No auth required.

get_live_sector_timesA

Live sector times + speed trap for one driver (TLA or car number). No auth required.

get_live_weatherA

Live track weather (air/track temp, humidity, wind, rain). No auth required.

get_live_tyresB

Live tyre compound, age (laps), and stint number per driver. No auth required.

get_live_race_controlA

Live race control: flags, penalties, track-limit deletions, SC/VSC. No auth required.

get_live_speed_trapA

Live speed-trap (ST) ranking across the whole field. No auth required.

get_live_session_clockA

Live time remaining in the current session. No auth required.

get_live_track_status_historyA

Live chronological log of track-status and session-status changes. No auth required.

get_live_best_sectorsA

Live personal-best sector times and overall best lap per driver, ranked by lap position. No auth required.

get_live_speed_comparisonA

Live best speed at each measurement point (I1, I2, FL, ST) for every driver. No auth required.

get_live_stint_historyB

Live full compound sequence and stint lengths for every driver in track-position order. No auth required.

get_live_pit_activityA

Live pit-stop count and real-time in-pit / out-lap flags per driver. No auth required.

get_live_time_gapsA

Live gap to leader and interval to car ahead per driver, mode-aware (race gap vs quali/practice fastest). No auth required.

get_live_mini_sectorsA

Live mini-sector status per driver: g=green/personal-best, p=purple/overall-best, y=yellow, .=no data. No auth required.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.7/5.0

Scored across 77 tools

Disambiguation2/5

Massive overlap across near-duplicate tools: get_standings/get_race_results/get_historical_results, get_weather/get_weather_data/get_live_weather, get_race_control/get_race_control_messages/get_track_status, and get_lap_times/get_lap_times_fastf1/get_live_lap_times are hard to tell apart. The live_ vs historical split helps somewhat, but dozens of pairs have blurred boundaries that will cause misselection.

Naming Consistency4/5

Nearly all tools follow a predictable snake_case verb_noun pattern (get_*, list_*, analyze_*, compare_*, plot_*). Minor deviations like team_head_to_head break the pattern, but the overall convention is strong and readable.

Tool Count1/5

77 tools is far beyond reasonable scope and is an extreme mismatch, especially given how many are redundant variants of the same operation. The surface should be consolidated to a fraction of this size.

Completeness4/5

The F1 domain is covered broadly: sessions, results, standings, telemetry, tyre strategy, pit stops, weather, live feeds, and historical data. Gaps are minor; the problem is duplication rather than missing capability.

Maintenance

ActivityMaintained
ResponsivenessNo issues