Skip to main content
Glama

f1_qualifying_analysis

Read-onlyIdempotent

Analyze an F1 qualifying session to get each driver's best lap time, gap to pole, and a projected starting grid based on session laps.

Instructions

Analyse a qualifying session: best lap per driver, gap to pole, projected grid.

Args: session_key: OpenF1 session identifier for a Qualifying session.

Returns: data.grid: [{position, driver_number, full_name, team_name, best_lap_gap_s}]. data.pole_time_s: pole lap duration in seconds. data.drivers_analysed: count of drivers with valid laps. meta.estimated: true — grid derived from session laps, not official timing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
session_keyYesOpenF1 session identifier for a Qualifying session.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
metaNo
errorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, the description discloses that the returned grid is estimated and derived from session laps, not official timing ('meta.estimated: true — grid derived from session laps'), and defines drivers_analysed as valid laps only. This adds meaningful non-obvious behavior while annotations already cover read-only/idempotent safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with a one-line summary, followed by a short Args block and a clearly structured Returns list. Every line earns its place, including the estimated-grid caveat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter analytical tool with read-only/idempotent annotations and an output schema, this description fully covers input requirements, return fields, and the key estimation caveat. Nothing needed to invoke the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the single parameter's schema description already provides 'OpenF1 session identifier for a Qualifying session.' The description merely repeats that wording without adding format, source, or examples, so it adds no semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb and resource: 'Analyse a qualifying session', then lists concrete outputs (best lap per driver, gap to pole, projected grid). This clearly distinguishes it from sibling f1_get_* tools, which return raw sessions, laps, or results rather than a derived grid.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the intended context: use it to analyse a qualifying session, and the schema/Args reinforce that session_key must identify a Qualifying session. It does not explicitly name alternative tools for official timing or race analysis, so it stops short of a 5, but the qualifying-only scope is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.