Kerbside F1
Server Details
Free Formula 1 stats: standings, title maths, teammate battles and records, each linked to source.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 10 tools
Most tools have clearly distinct purposes, but three tools (championship_math, championship_standings, what_if) all deal with championship points and could be confused at a glance, and four ranking tools (get_record, peak_finder, power_ranking, driver_milestones) overlap in 'rank drivers by something' territory. Descriptions do a good job of separating them (projection vs. historical vs. hypothetical; all-time board vs. consecutive-season run vs. site metric vs. milestone proximity).
Names are uniformly snake_case, but the convention mixes noun phrases (championship_math, power_ranking, lap1_performance, what_if) with verb_noun (get_record) and a bare verb (search). It reads fine, but there is no predictable pattern an agent can rely on to guess a name.
Ten tools is well within the sweet spot and each maps to a distinct analytical question (standings, projections, milestones, records, lap 1, peaks, power score, search, teammate H2H, alternate scoring). No obvious filler or duplication.
The surface is analytics-heavy but leaves real gaps: there is no tool to fetch a driver/team profile or career summary from the slug that search returns, no race-by-race or qualifying results, no constructor standings as a standalone, and no season/schedule listing. Agents can partially work around these via standings and search, but several natural follow-ups dead-end.
Available Tools
10 toolschampionship_mathWho can still win the titleARead-onlyIdempotentInspect
For the current season: each driver's and constructor's points, the most they can still score in the remaining races (today's points table, sprints included), and whether they can still win the title.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, closed-world behavior, so the description only needs to add scope. It does: it discloses that sprints are counted, that the points table is 'today's', and that the analysis is limited to remaining races and title possibility. It stops short of describing result shape or whether all drivers are returned versus only mathematical contenders.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the season scope front-loaded and the three computed outputs enumerated. The parenthetical about sprints is purposeful, not filler. Slightly dense but no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and annotations covering the safety profile, the description is close to self-sufficient: it names the scope and the three things returned. The remaining gap is the absence of any routing hint versus championship_standings, which matters for a season-analysis question.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline applies. No misleading parameter claims are made.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (driver's and constructor's points for the current season) and the derived computations it performs: maximum remaining score and title-contention status. An agent can tell this is an analysis tool, not a raw standings dump, though it never names the closest sibling (championship_standings) to sharpen the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the scope phrase 'For the current season' and by the mention of title scenarios. There is no explicit when-to-use statement and no disambiguation against championship_standings or what_if, both of which plausibly overlap with this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
championship_standingsChampionship standings after any roundARead-onlyIdempotentInspect
Drivers' championship standings of a season after a given round (default: the latest round with results), with the points each driver scored in that round. The final round of a finished season is the final championship table: the champion and the margin.
| Name | Required | Description | Default |
|---|---|---|---|
| round | No | Round number; omit for the latest | |
| season | Yes | Championship year, e.g. 2008 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the default round falls back to the latest round with results, and the final round of a finished season produces the definitive table with champion and margin. It does not describe ordering or response size, which keeps it at 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the core resource and the default-round behavior are front-loaded. The final-round clarification is earned because it changes how an agent should interpret the output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only tool with no output schema, the description does the important work: it establishes scope, the default round, the per-driver points payload, and the final-round edge case. What is missing is minor — ordering of the standings and whether the points shown are cumulative totals or round-only scores is only loosely implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both season and round with ranges and examples. The description adds only a small nuance by specifying 'the latest round with results' rather than merely 'the latest', and says nothing about how round interacts with an in-progress versus finished season beyond the final-round case. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: drivers' championship standings for a season at a given round, including per-round points. That is concrete enough for an agent to know exactly what data comes back. It stops short of naming sibling tools (championship_math, power_ranking) to explain how it differs from them, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: omitting round yields the latest round with results, and querying the final round of a finished season yields the final table. There is no explicit 'use this instead of X when Y' guidance, and no mention of when this is the wrong tool versus championship_math or power_ranking. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
driver_milestonesUpcoming driver milestonesARead-onlyIdempotentInspect
Active drivers close to a round-number career milestone (e.g. 100th podium) or an all-time team record, with how far off they are.
| Name | Required | Description | Default |
|---|---|---|---|
| driver | No | Only this driver (slug); omit for every milestone that is close |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, closed-world), so the description's added value is the substance: it discloses the result content (distance remaining, 'how far off they are') and the population filter ('Active drivers'). The main undisclosed trait is what threshold counts as 'close', which materially changes result size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence that front-loads the population and the milestone concept before the return content. The trailing clause 'with how far off they are' is slightly awkward but earns its place by describing the output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool this is close to sufficient, and annotations plus schema carry most of the load. However, with no output schema the description should clarify what a result record contains (driver, milestone type, remaining count) and roughly what 'close' means; both are left to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already documents the slug format, the pattern constraint, and the omit-for-all behavior. The description adds only an indirect hint that omitting the driver yields 'every milestone that is close', which is essentially a restatement of the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource precisely ('career milestone ... or an all-time team record') and the population ('active drivers'), with a concrete example ('100th podium') that makes the concept unambiguous. It implicitly separates itself from get_record (actual records) by focusing on proximity rather than the record itself, though it never names a sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the phrase 'close to' signals the tool is for forward-looking/preview questions rather than lookups. It gives no explicit when-to-use versus get_record or peak_finder, and no statement that it excludes retired drivers or historical retrospective queries beyond the word 'Active'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recordAll-time driver recordsBRead-onlyIdempotentInspect
One all-time driver record board from /records, top N with every driver tied at the cut.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| record | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and closed-world, so safety is covered. The description earns credit for disclosing a non-obvious output behavior beyond those hints: the board includes every driver tied at the cut, so results can exceed the requested top N. It does not discuss ordering, errors, or the shape of a board entry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the identifying resource comes first and the tie behavior follows. Nothing is repeated from the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 14 undocumented enum values, no output schema, and a vague return concept ('record board'), the description does too little — an agent cannot tell what fields each entry contains or how entries are ranked. The tie rule is the one genuinely complete piece of information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning and only partly does: 'top N' clarifies the top parameter and 'record board' implies the record parameter. It adds nothing for the 14 enum values (e.g. win_rate vs podium_rate, units for points, or what youngest_win returns), leaving the highest-risk parameter underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: 'one all-time driver record board', parameterized by which record and how many entries. 'One' signals single-board output, which distinguishes it from aggregate siblings like championship_standings or power_ranking, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all — nothing says when to pick this over driver_milestones (which sounds adjacent) or championship_standings, and no note about combining it with other tools. The only usage-adjacent content is the implicit 'pick a record from the enum', which the schema already carries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lap1_performanceLap 1 positions gained and lostARead-onlyIdempotentInspect
Per driver, the average places gained or lost on the opening lap over a season's races and sprints (seasons with position data: 2023 on).
| Name | Required | Description | Default |
|---|---|---|---|
| season | Yes | Championship year, e.g. 2008 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and closed-world behavior, so the safety profile needs no restating. The description adds genuinely new behavioral context: that sprints are included, that results are averaged per driver, and that coverage begins in 2023 due to position data availability — a data-availability constraint not expressed anywhere in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the unit of analysis ('per driver'), then the metric, then the scope caveat. No redundant restatement of the name or title, and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with full schema coverage and annotations, the description covers what is computed, over what population, and the data-availability limit. Minor omissions remain, such as whether drivers with no lap-1 data are excluded and how ties or missing positions are handled, but these are unlikely to change how an agent calls it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter is documented as a championship year, so the baseline would be 3. The description earns an extra point by narrowing the effective valid range to 2023+ for this metric, which the schema's 1950–2100 bounds do not convey and which directly prevents failed or empty queries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computed metric: average places gained or lost on the opening lap, per driver, across races and sprints in a season. The unit of analysis and metric are unambiguous. It does not explicitly distinguish itself from siblings like teammate_head_to_head or peak_finder, but no sibling computes this metric, so confusion risk is low.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'seasons with position data: 2023 on' effectively tells the agent when the tool cannot be used, which is real conditional guidance. However, there is no explicit statement of when to prefer this over alternatives or what to do for pre-2023 seasons (e.g., use another tool).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
peak_finderBest spell of consecutive seasonsARead-onlyIdempotentInspect
Drivers ranked by their best run of 3, 5 or 10 consecutive seasons (every season raced), by points, wins, podiums or win rate.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| metric | No | points | |
| window | No | Consecutive seasons |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds one genuinely useful semantic constraint: streaks require every season raced (no gaps), which is not in the schema. It does not explain tie-breaking, ordering of results beyond 'ranked', or how the top-N cutoff interacts with ties.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler; the core concept ('best run of consecutive seasons') is front-loaded and the qualifying options follow. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should at least convey that the result is a ranked list truncated to 'top' (default 10, max 50). The ranking criterion and streak definition are covered, but the truncation parameter and any notion of the returned record shape are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'window' is annotated), so the description must carry weight. It effectively explains the meaning of 'window' (3, 5, or 10 consecutive seasons) and 'metric' (points, wins, podiums, win rate), though both merely restate enum values already in the schema. The 'top' parameter is left completely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource: ranking drivers by their best run of consecutive seasons, with the exact window sizes (3/5/10) and metrics (points, wins, podiums, win rate) enumerated. It implicitly separates itself from siblings like championship_standings or power_ranking by scoping to a 'best run' rather than a season or all-time ranking. It stops short of explicitly naming which sibling to use instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance, and no sibling alternatives are named. The use case is strongly implied by the phrase 'best run of consecutive seasons,' so an agent can infer the intent, but must reason about it rather than being told.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
power_rankingDriver Power Ranking for a seasonARead-onlyIdempotentInspect
Kerbside's Power Score ranking of a season's drivers (default weights), with the four component scores. A site-defined metric: the definition is returned with the data.
| Name | Required | Description | Default |
|---|---|---|---|
| season | Yes | Championship year, e.g. 2008 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, closed-world behavior, so the bar is lower. The description still adds real value beyond them: it clarifies that weights are the site defaults (not caller-supplied), that the metric definition is returned alongside the data, and that four component scores accompany the ranking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no wasted wording; the core output (ranking plus four component scores) is front-loaded, and the caveat about the metric being site-defined follows logically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with full annotations and no output schema, the description covers what is computed and what is returned. Minor gaps remain: no mention of ordering, ties, or handling of drivers with insufficient data in a season.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single documented 'season' parameter, so the baseline is 3. The description only echoes the concept of 'a season' and adds no format, range, or edge-case detail beyond the schema's 1950–2100 bounds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (a season's driver ranking) under a named metric (Kerbside Power Score) and notes it returns four component scores. 'A site-defined metric' implicitly separates it from official standings like championship_standings, though that sibling is never named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent can infer 'use this to get power rankings for a season.' There is no explicit when-to-use versus championship_standings or what_if, and no stated prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchFind drivers, teams and racesARead-onlyIdempotentInspect
Resolve a name to Kerbside drivers, teams (marques) and races, with their Kerbside URLs. A driver slug is the last part of its URL (/drivers/); other tools take that slug.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | A name, e.g. "Hamilton", "Brawn", "Monaco 2008" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral detail – results carry URLs and the driver slug is the URL tail – but it says nothing about match behavior, multiple matches, or empty results, which matters given there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler, front-loading what gets resolved and then the downstream slug rule. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only lookup, the description covers purpose, payload shape, and downstream slug usage, which is most of what an agent needs. The remaining gap is outcome behavior (no-match or multi-match results) that cannot be inferred from any structured field since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'query' parameter whose schema description is fully covered (100%) and already includes example inputs like 'Hamilton' and 'Monaco 2008'. The prose adds no search syntax, matching, or normalization semantics beyond what the schema shows, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Resolve a name') and concrete resources ('drivers, teams (marques) and races') plus the return payload ('Kerbside URLs'). No sibling does name resolution, so the tool is unambiguously distinguishable from the analysis tools listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It establishes this as the entry point by explaining that other tools consume the driver slug, which implies 'call this first.' It does not state any exclusions or what to do when a query is ambiguous or returns nothing, so it stops short of explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teammate_head_to_headTeammate head-to-headARead-onlyIdempotentInspect
Qualifying and race head-to-head between two drivers who were teammates (from 1981), overall and per season, for each team they shared.
| Name | Required | Description | Default |
|---|---|---|---|
| driver_a | Yes | Kerbside driver slug, e.g. "lewis-hamilton" (use the search tool) | |
| driver_b | Yes | Kerbside driver slug, e.g. "lewis-hamilton" (use the search tool) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and closed-world, so the safety profile is covered. The description adds useful context: the 1981 cutoff and the overall/per-season/per-team breakdown of results. It does not say what happens if the two drivers were never teammates, which is the main behavioral risk here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, zero padding, with the core resource named first and the qualifying conditions (teammates, 1981, overall/per season/per team) following efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description already outlines the result shape (overall and per-season, broken down by shared team), and annotations carry the safety profile. For a simple two-parameter lookup this is enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both params carry slug format examples plus a pointer to the search tool, so the schema does the heavy lifting. The description contributes only the implicit constraint that the two slugs must form an actual teammate pairing, with no additional format or ordering semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (qualifying and race head-to-head) and a precise scope (two drivers who were teammates, from 1981, overall and per season, per shared team). It is easily distinguished from siblings like power_ranking or driver_milestones, which do not involve pairwise teammate comparisons.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the scoping clause 'between two drivers who were teammates' — an agent can infer this tool only applies to a teammate pairing — but no alternative is named and no guidance is given for non-teammate pairs or for choosing this over power_ranking/driver_milestones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
what_ifSeason under another points systemARead-onlyIdempotentInspect
A season's drivers' championship re-scored with another points system, beside the actual standings. Systems, by points from 1st down: current 25-18-15-12-10-8-6-4-2-1 + fastest lap; classic 10-6-4-3-2-1; pre2003 10-8-6-5-4-3-2-1; winner_takes_all 25; linear 20…1.
| Name | Required | Description | Default |
|---|---|---|---|
| season | Yes | Championship year, e.g. 2008 | |
| system | No | current |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds useful domain behavior: it re-scores a season and returns the result beside actual standings, and it notes that fastest lap applies only to the current system. It does not describe the exact return shape, but that is a minor gap given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and then a compact list of systems. Every phrase carries useful information, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, read-only calculation tool with no output schema, the description covers the computation and fully explains the enum values. It could say more about the return structure, but the essential information needed to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: season is documented in the schema, while system is a bare enum. The description compensates well by defining the points structure for every system value, which is exactly the missing semantic meaning. It adds little for season beyond the schema example, so it is not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb, 're-scored', a specific resource, 'a season's drivers' championship', and a clear scope, 'with another points system, beside the actual standings'. This distinguishes it from the actual-standings sibling without needing to name it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The hypothetical re-scoring use case is implied by 'what if' and 'beside the actual standings', but the description never explicitly says when to use this instead of championship_standings or championship_math. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
- First observed
championship_math - First observed
championship_standings - First observed
driver_milestones - First observed
get_record - First observed
lap1_performance - First observed
peak_finder - First observed
power_ranking - First observed
search - First observed
teammate_head_to_head - First observed
what_if
Related MCP Connectors
Anonymous read-only Formula 1 tools, resources, prompts, completion, and interactive dashboard.
Read-only F1 game laps, telemetry, setups, leaderboard benchmarks, and progress.
Predicted scores, win chances and checked sport stats for 29 competitions. Free and licensed tools.
Related MCP Servers
- AlicenseAqualityCmaintenanceFormula 1 data from the OpenF1 API: sessions, standings, laps, telemetry, and race replay.201MIT
- AlicenseCqualityDmaintenanceProvides easy access to Formula 1 data including championship standings, event info, season calendars, track visualizations, session results, and driver/constructor info via FastF1 and OpenF1 API.171MIT
- AlicenseCqualityCmaintenanceEnables Claude to answer Formula 1 questions using real public data: race, sprint and qualifying results back to 1950, lap and sector times, 4 Hz car telemetry, tyre stints, pit stops and undercut strategy, plus locally drawn speed-trace and gear-shift plots. Also covers live session timing — positions, gaps, tyres, flags and weather — through 77 read-only tools that need no account, login or API key.77MIT
- AlicenseAqualityBmaintenanceProvides access to Formula 1 data including driver and constructor championship standings with support for current and historical seasons. Enables users to query F1 championship information through natural language with plans for expanded race data and telemetry.221MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.