Skip to main content
Glama

f1_race_pace_compare

Read-onlyIdempotent

Compare race-pace and tyre degradation between two F1 drivers in a session. See which driver is faster overall and by compound.

Instructions

Compare race-pace and tyre degradation between two F1 drivers in a session.

Args: session_key: OpenF1 session identifier. driver_a: First driver's race number. driver_b: Second driver's race number.

Returns: data: {by_compound, overall_faster, compounds_compared}. meta.estimated: true — degradation model fit, not official timing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
driver_aYesFirst driver's race number.
driver_bYesSecond driver's race number.
session_keyYesOpenF1 session identifier.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
metaNo
errorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this a safe, read-only, idempotent operation. The description adds valuable transparency by explicitly stating that the result is a degradation model fit, not official timing (meta.estimated: true). This goes beyond the annotations and informs the agent that output is estimated.

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

Conciseness4/5

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

The description is compact and front-loaded with a clear one-sentence summary. The Args block is redundant with the schema, but the Returns section adds useful structure about the output, making the overall definition efficient and scannable.

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

Completeness4/5

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

Given the rich annotations, 100% schema coverage, and presence of an output schema, the description provides sufficient context for correct invocation. It also highlights the estimated nature of the results. A small gap is the lack of differentiation from f1_head_to_head_pace, but this does not critically impair completeness.

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 description coverage is 100%, and the description's Args section essentially repeats the schema's parameter descriptions without adding new meaning. It correctly identifies session_key, driver_a, and driver_b, but adds no extra semantic detail, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific action ('Compare race-pace and tyre degradation') and a clear resource scope ('between two F1 drivers in a session'). It is distinguishable from generic F1 tools, though it does not explicitly differentiate itself from the closely related sibling f1_head_to_head_pace.

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

Usage Guidelines3/5

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

The intended use is implied by the first sentence: use this when comparing two drivers' race pace and tyre degradation. However, there is no explicit 'when to use' vs 'when not to use' guidance, nor any mention of alternatives among the many F1 sibling tools.

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