Available Tools
Complete catalog of Race Engineer capabilities organized by category.
The Race Engineer provides 96 tools in 20 groups. All tools are available through the MCP connection — your AI assistant discovers them automatically.
How Tools Work
The Race Engineer uses a single execute_code tool. Your AI assistant writes TypeScript code that calls brakinglab.* functions to interact with your data. You don’t need to know the function names — just describe what you want in natural language.
For example, asking “Show me my recent sessions at Spa” triggers the assistant to call brakinglab.getSessions({ trackName: "Spa" }) behind the scenes.
Sessions & Laps
Explore your telemetry sessions and lap data.
| Tool | Description |
|---|---|
| getSessions | List and filter your telemetry sessions by track, car, date, or session type |
| getSessionDetail | Full session detail with all laps, weather data, and driver info |
| getSessionsFacets | Discover the distinct tracks, cars, sims, and session types in your data before filtering |
| getLatestSession | Jump straight to your most recent session matching optional filters |
Example prompts:
- “Show me my last 5 sessions”
- “Find all my sessions at Monza with the GT3 Ferrari”
- “What was my best lap in yesterday’s session?”
Stints
Analyze performance across stints within a session.
| Tool | Description |
|---|---|
| listSessionStints | List stints (pit-to-pit runs) in a session with linked coaching reports |
| getStintMetrics | Detailed stint metrics including corner-by-corner performance |
Corner Analysis
Deep dive into individual corners.
| Tool | Description |
|---|---|
| getCornerAnalysis | Per-corner entry speed, apex speed, exit speed, and lateral G |
| getTrackTemplate | Track structural map showing corners, defensive zones, and pit areas |
| getTrackOutline | The circuit’s geometric outline as normalised points, so the assistant can draw the track |
Example prompts:
- “Which corners am I slowest at on this track?”
- “Show me the corner analysis for lap 12”
Braking Zones
Detailed braking data for every zone.
| Tool | Description |
|---|---|
| getBrakingZones | MRP values, trail braking characteristics, brake profiles, and deceleration data |
Example prompts:
- “Show me my braking zones for the best lap”
- “Where am I braking too early?”
Sample-Level Analysis
Zoom all the way into the raw telemetry — every brake, throttle, and speed sample — to see the shape of your driving, not just the aggregates. Requires a Plus or Ultra plan.
| Tool | Description |
|---|---|
| getLapTrace | Full-resolution trace of a lap (brake, throttle, speed, steering, gear, fuel, and more), windowed to any part of the lap and downsampled for analysis |
| getZoneTrace | Sample-level trace of a single braking zone — the initial hit, the release curve, and the trail-off toward the apex |
| compareTraces | Duel two laps sample-by-sample on a distance-aligned grid — including your lap vs. the current leaderboard leader’s — with the cumulative time delta at every point |
| getDrivingSymptoms | Per-corner understeer / oversteer / traction-limit diagnosis, each backed by numeric evidence from the raw telemetry |
| getZoneConsistency | Rank your braking zones by how repeatable they are across every valid lap, to find where inconsistency is costing you time |
Example prompts:
- “Compare my best Spa lap against the leaderboard leader, corner by corner”
- “Where am I understeering, and how bad is it?”
- “Which braking zone am I least consistent in?”
- “Show me the brake-release shape through turn 1 on my fastest lap”
Sample-level tools require a Plus or Ultra plan. Comparing against a leaderboard lap also needs that driver to have shared their telemetry publicly, and both laps must be the same car and track.
Coaching
AI-powered coaching and analysis.
| Tool | Description |
|---|---|
| saveCoachingReport | Generate and save a structured coaching report (overview, pace, corners, actions) |
| getCoachingReports | List all coaching reports for a session |
| getCoachingReport | Get a specific coaching report by ID |
Example prompts:
- “Analyze my last session and give me coaching feedback”
- “Generate a coaching report for my Spa practice”
Lap Analysis
Advanced comparison and trend analysis.
| Tool | Description |
|---|---|
| compareLaps | Compare 2-5 laps with per-zone braking deltas and time differences |
| getProgressOverTime | Track your improvement trend across sessions at a track |
| getWeakCorners | Identify your weakest corners ranked by inconsistency |
| getSectorAnalysis | Per-sector consistency and theoretical best for one session |
| getTireDegradation | Per-lap tyre wear, temperature and pressure trend across a session |
Example prompts:
- “Compare my best and worst laps from today’s session”
- “How have I improved at Silverstone over the last month?”
- “What are my weakest corners at this track?”
- “How much were the tyres going off by the end of that stint?”
Tyre data comes from snapshots the desktop client records during a session. If a session predates that capture, the engineer says so instead of inventing a trend.
Race Calendar
Manage your race schedule.
| Tool | Description |
|---|---|
| getUpcomingRaces | Your future race events with preparation status |
| getAllRaces | Full calendar (past and future) with filters |
| getRaceDetail | Complete race detail with preparations, strategy, and linked sessions |
| createRaceEvent | Create a new race event |
| updateRaceEvent | Update race event details |
| deleteRaceEvent | Remove a race event |
| linkSessionToRace | Link a telemetry session to a race event as practice |
| getUnlinkedSessionsForRace | Find practice sessions that match a race’s track and car |
| getRaceReadinessData | Gather all practice session data for a cross-FP readiness assessment |
| saveRaceReadinessReport | Save a readiness report evaluating your preparation across all practice sessions |
| getRaceReadinessReport | Retrieve an existing readiness report for a race |
Example prompts:
- “Am I ready for my race at Spa? Evaluate my practice sessions”
- “Generate a readiness report for this weekend’s race”
Race Preparation
Build structured preparation plans.
| Tool | Description |
|---|---|
| getPreparation | Full preparation with phases, checklist items, and progress |
| getPreparationTemplates | List built-in and custom preparation templates |
| createPreparation | Create a preparation from a template or custom phases |
| updatePreparation | Edit preparation notes and time tracking |
| updatePreparationPhase | Add, update, or delete a preparation phase |
| updateChecklistItem | Add, update, delete, or toggle checklist items |
Example prompts:
- “Help me prepare for my race at Spa next Saturday”
- “Create a preparation checklist for the 24h of Le Mans”
Strategy
Race strategy calculations.
| Tool | Description |
|---|---|
| generateStrategyFromTelemetry | Auto-generate race strategy from practice data (fuel, pace, tire wear, stint plan) |
| saveRaceStrategy | Persist a strategy to a race on your calendar so it survives the conversation — editable in the app afterwards |
Example prompts:
- “Generate a fuel strategy for a 45-minute race based on my practice laps”
- “Save that strategy to my Spa race on Saturday”
Every figure is recomputed on the server from your telemetry when it saves, so the card in the app can never disagree with what the engineer told you. Notes you wrote in the app are preserved when the engineer updates the strategy.
Track Notepads
Access your corner notes and track observations.
| Tool | Description |
|---|---|
| getTrackNotepads | List your track notepads |
| getTrackNotepad | Full notepad with corner notes, pins, and video references |
| createTrackNotepad | Create a new track notepad |
| updateTrackNotepad | Update corner notes and pins |
| deleteTrackNotepad | Delete a track notepad |
| linkNotepadToRace | Link a track notepad to a race calendar event |
| unlinkNotepadFromRace | Remove a notepad-race link |
Saved Comparisons
Manage saved lap comparisons.
| Tool | Description |
|---|---|
| saveComparison | Save a lap comparison with auto-computed deltas |
| getComparisons | List saved comparisons with filters |
iRacing Integration
Access iRacing series and schedule data.
| Tool | Description |
|---|---|
| searchIRacingSeries | Search iRacing series by category, license, or name |
| getSeriesSchedule | Full season schedule for a series |
| searchRacesThisWeek | All series racing this week |
| createRaceFromSchedule | Create a calendar event from an iRacing schedule entry |
Example prompts:
- “What’s racing this week that I can join with a C license?”
- “Add the GT3 race at Spa from this week’s schedule to my calendar”
Le Mans Ultimate
Browse Le Mans Ultimate series, tracks, and the current race week.
| Tool | Description |
|---|---|
| searchLMUTracks | Search Le Mans Ultimate tracks |
| searchLMUCars | Search LMU cars |
| searchLMUSeries | Search LMU series |
| getLMUSeriesSchedule | Full season schedule for an LMU series |
| getLMUCurrentSchedule | The current LMU race week across series |
| getLMUSpecialEvents | LMU special and endurance events |
| createRaceFromLMUSchedule | Create a calendar event from an LMU schedule entry |
Example prompts:
- “What’s the current LMU race week?”
- “Add the Hyperpole round at Le Mans to my calendar”
Hardware Vault
Access your hardware setups and datapacks.
| Tool | Description |
|---|---|
| listDatapacks | List your datapacks with filters |
| getDatapack | Full datapack detail with attached files |
| listHardwareSetups | List hardware setups with configuration summaries |
| getHardwareSetup | Full hardware setup with base config, pedals, and sim profiles |
Imported Laps
Laps that did not come from the desktop client.
| Tool | Description |
|---|---|
| getImportedLaps | List the laps you imported from Garage61 CSVs (and older pre-Capture laps), with your own per-zone notes |
Example prompts:
- “What laps have I imported at Monza?”
- “Read back the notes I wrote on my imported Spa lap”
Training
The closing move of the loop: turn a diagnosis into something you actually practise.
| Tool | Description |
|---|---|
| createExerciseFromZone | Build a trail-braking exercise from one braking zone of your own lap — the curve is generated server-side at 60 Hz and appears in Practice, ready to run with your pedals |
| listCustomExercises | List your custom exercises, with how many slots your plan leaves |
| getExerciseResults | Your practice scores from the Free Practice runner |
| getBrakeMasterProgress | Your Braking Rating, licence, streak and track progression |
| getBrakeMasterLeaderboard | Global, weekly, or the drivers ranked immediately around you |
Example prompts:
- “Find my worst corner at Spa and make me an exercise for it”
- “How did I score on that exercise? Am I getting better at it?”
- “Where am I on the Brake Master leaderboard?”
Creating an exercise counts against the custom-exercise limit on your plan, and the engineer will tell you plainly when you have run out rather than failing silently. Leaderboard entries are anonymised and only include drivers who opted in.
Setup Coaching
What a setup parameter actually does — on your car, not in the abstract.
Not switched on yet. The tools ship with the engineer, but the reviewed corpus they answer from is still being curated, so for now they tell you it is coming rather than improvising. The Setup Guide already publishes the sim-neutral half, free; what this adds on top is your car, your file and your session.
| Tool | Description |
|---|---|
| explainSetupParam | Explain ONE setup parameter from Braking Lab’s reviewed knowledge corpus, anchored to your sim, your car and your own values |
| getSetupTendencies | Curated setup tendencies for ONE handling symptom — understeer, oversteer or traction-limited, optionally narrowed to a corner phase — human-reviewed, with per-car notes where we have written them |
Ask by whatever name you know it — plain language in your own language, the
canonical key, or the exact spelling your garage uses — and the engineer resolves
it to one parameter. The answer carries what it is, what it does per corner
phase, what it couples with, and a reviewed per-car note where we have written
one (cited, so you can go read the source). With a sessionId it also shows
your own current value from the setup the desktop client captured with that
session; with AI Setups on a Plus or Ultra plan, a vault setup works as the
anchor instead.
Example prompts:
- “What does brake bias actually do? Use my last Spa session.”
- “Why would I run more rear anti-roll bar in the wet?”
- “In my GT4, what does spring perch offset change — and what does it fight with?”
Setup Coaching requires a Plus or Ultra plan. The engineer tells you what it does not know as clearly as what it does: a missing concept or per-car note means nobody has written it yet, never that it does not matter, and anything added from general knowledge is labelled as such. Some values are read-outs on a given car rather than dials — it leads with that. Explaining never proposes values for you; that is a separate capability — AI Setups, below.
Prefer to read rather than ask? The same corpus is published, free and sim-neutral, as the Setup Guide.
AI Setups
Your private setup vault, and the engineer that changes what is in it. Explaining a parameter is the section above; proposing values is this one.
Every tool here requires a Plus or Ultra plan. Full product documentation: AI Setups.
The Vault
| Tool | Description |
|---|---|
| listCarSetups | List your setups as summary rows — sim, car, track, type, tags and status |
| getCarSetup | One setup with its full version lineage, conversation milestones and each version’s parsed parameters |
| createCarSetup | Create a setup and its v1 from a full .svm file (Le Mans Ultimate only) |
| addSetupVersion | Append a version from another full .svm — for when you tweaked it in-sim and re-exported (LMU only) |
A lineage never mixes parameter channels. A .svm version cannot be appended to
a setup built from an iRacing .htm, and the engineer starts a separate setup
instead of pretending the two are comparable.
Setup Interview
The interview is Le Mans Ultimate only and requires an existing owned .svm.
Protected references are internal evidence for relative movements; they are not
downloaded, named or copied into the driver’s vault. Full walkthrough:
Setup Interview.
| Tool | Description |
|---|---|
| buildSetupFromInterview | Derive a child from an owned LMU version using an explicit source cell and four target answers; returns only relative moves and drops |
| listReferenceSetups | Check internal evidence coverage for an exact car variant and cell without exposing source provenance |
| reportReferenceMiss | Log that you asked for a baseline we do not hold, so curation knows what to collect next — this one accepts iRacing asks too, even though we cannot serve them |
The interview requires exact source and target cells for the same verified car variant. It never substitutes a different car or silently falls back to a neighbouring condition or session.
Changing a Setup
| Tool | Description |
|---|---|
| remixSetup | Derive a new version by changing individual parameters — the core AI Setups action |
| getCarParamSpace | Braking Lab’s observed parameter space for a car, as a prior before proposing values |
A remix may only touch parameters your garage marks adjustable; a change to
anything else is rejected and no version is written. getCarParamSpace is
explicitly non-authoritative: uploaded files are editable, observations are
incomplete, and an unseen value can still be perfectly legal. Each row carries
how many observations back it, so a reading from one file cannot pose as a rule.
What You Actually Drove
| Tool | Description |
|---|---|
| getSetupTelemetryContext | A bounded telemetry context for one setup and one session, checked for sim and car identity, before proposing a remix |
| confirmSetupUsage | Confirm that a suggested setup usage matches its captured session, or correct it to another version |
| previewSetupAssociation | Validate a proposed setup/session link and return a preview, without writing any evidence |
| commitSetupAssociation | Commit exactly that preview, after you confirm it |
| retireSetupAssociation | Retire a usage you no longer stand behind; history and linked evaluations are preserved |
Braking Lab asks you for confirmation through your MCP client immediately before it writes an association. A boolean supplied by the agent is never accepted as your consent, and the engineer cannot preview and commit in the same turn.
Evidence
| Tool | Description |
|---|---|
| recordSetupEvaluation | Append your subjective verdict for one confirmed usage — the primary thumb, plus an optional relative comparison against another run of the same setup |
| getSetupExperimentHistory | Your experiment history for one setup: version provenance, confirmed usages, active evaluations and telemetry outcomes |
| compareSetupUsages | Compare two confirmed usages from captured telemetry — pace, consistency, sample sizes, conditions, confounders and evidence strength |
The comparison reports test minus baseline and stops there. It does not declare a winner, because two runs do not establish causality — see Setups and your sessions.
Example prompts:
- “Build me a wet race setup for the Ferrari 296 LMGT3 at Spa.”
- “Take my Monza qualifying setup and calm the entry down a click.”
- “Which of my two Bahrain runs was actually better, and by how much?”
Leaderboard
Public performance rankings.
| Tool | Description |
|---|---|
| getDesktopLeaderboard | Public leaderboard of uploaded sessions ranked by lap time — each entry carries a lap ID you can feed into compareTraces to duel that lap |
Help & Documentation
Self-service information.
| Tool | Description |
|---|---|
| whoami | Which driver the engineer is connected to, their plan, and how many AI reports are left this month |
| getCapabilities | Structured overview of everything the Race Engineer can do |
| getDocumentation | App feature documentation with links |
| getFunctionSchema | Introspect the full JSON Schema for any function before calling it |
Next Steps
- Examples — See worked example conversations end to end
- Coaching — Learn how to get the best coaching analysis
- Race Preparation — Use the engineer to prepare for races