Skip to main content
Glama
OpenF1 MCP Server

OpenF1 MCP Server

by ragulhari

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OPENF1_TOKENNoBearer token for the paid real-time tier. Historical data needs no token.
OPENF1_BASE_URLNoAPI base URL.https://api.openf1.org/v1
OPENF1_DEFAULT_LIMITNoDefault record limit.200
OPENF1_MIN_INTERVAL_MSNoMinimum time between requests.350

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_meetingsA

Find meetings (Grand Prix or testing weekends). Use this first to get a meeting_key. Data starts in 2023.

get_sessionsA

Find sessions (practice, qualifying, sprint, race). Use this to get a session_key, which most other tools need.

get_driversB

Driver details for a session: name, acronym, team, team colour, headshot URL.

get_session_resultA

Final standings of a session (position, laps, duration, gap, DNF/DNS/DSQ). In qualifying, duration and gap_to_leader are arrays for Q1, Q2, Q3.

get_starting_gridB

Starting grid of a race, with the qualifying lap time of each driver.

get_lapsB

Lap data: lap time, sector times, intermediate and speed-trap speeds, pit-out flag, mini-sector segments (segments are not available in races).

get_stintsC

Tyre stints: compound, first and last lap, tyre age at the start of the stint.

get_pitB

Pit lane passages: lap, time in pit lane (lane_duration) and stationary stop time (stop_duration, from the 2024 US GP onwards).

get_positionB

Driver position during a session: the initial position and each change.

get_intervalsB

Gap to the car ahead and gap to the leader during a race (about every 4 s). Large data: filter by driver and time.

get_overtakesA

Position exchanges between two drivers in a race (on track, pit stops or penalties). Data can be incomplete.

get_race_controlB

Race control messages: flags, safety car, DRS, penalties, track limits, session status.

get_weatherB

Track weather each minute: air and track temperature, humidity, pressure, rain, wind.

get_championship_driversA

Drivers championship points and position before and after a race. Race sessions only.

get_championship_teamsA

Teams championship points and position before and after a race. Race sessions only.

get_car_dataA

Car telemetry at about 3.7 Hz: speed, RPM, gear, throttle, brake, DRS. VERY large data: you must give session_key, ONE driver_number and a lap_number or a date range (max 10 minutes).

get_locationA

Approximate car position on track (x, y, z) at about 3.7 Hz. VERY large data: you must give session_key, ONE driver_number and a lap_number or a date range (max 10 minutes).

get_race_summaryA

Classification of a session with driver names, teams, grid position, positions gained, laps, gap and status (DNF/DNS/DSQ). Works for races, sprints, qualifying and practice.

get_tyre_strategyB

Tyre strategy for each driver in a session: compound sequence, stint lengths and pit stops.

compare_fastest_lapsA

Compare the fastest lap of 2 to 10 drivers in a session: lap time, sectors, speeds, best sectors, theoretical best lap and delta to the fastest driver.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 20 tools

Disambiguation3/5

Several tools overlap in practice: get_session_result and get_race_summary both return session classifications/standings, while get_stints and get_tyre_strategy both expose tyre-stint information. get_pit also partially overlaps with get_tyre_strategy because strategy includes pit stops. Descriptions help, but an agent could still misselect among these related tools.

Naming Consistency5/5

All tool names follow a clear snake_case verb_noun pattern, with get_* used for the vast majority and compare_fastest_laps as a natural action-specific variant. There is no mixing of camelCase, vague names, or inconsistent structural conventions.

Tool Count4/5

Twenty tools is slightly heavy, but the F1 data domain is broad and each tool maps to a recognizable data type or analysis operation. The count is reasonable for the scope, though some redundancy among result, tyre, and pit tools keeps it from being perfectly scoped.

Completeness4/5

The surface covers the core F1 workflow very well: meetings, sessions, drivers, results, championships, laps, stints, pits, positions, intervals, race control, weather, telemetry, location, and fastest-lap comparison. Minor gaps remain, such as no explicit team-radio tool and no standalone teams endpoint beyond championship context.

Maintenance

ActivityMaintained
ResponsivenessNo issues