Race Calendar F1
Server Details
Anonymous read-only Formula 1 tools, resources, prompts, completion, and interactive dashboard.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 14 of 15 tools scored.
Most tools have clearly distinct purposes, but get_f1_race_classification and get_f1_session_results overlap in providing classifications, differing mainly in input method. get_f1_historical_race_result(s) are differentiated by count but could still be confused with race_classification.
All tools follow a consistent verb_f1_noun snake_case pattern (get_f1_*, compare_f1_*, search_f1_*). The naming is predictable and uniform, with no mixed conventions or vague verbs.
15 tools is within the ideal range and well-scoped for an F1 data server covering schedules, results, standings, circuits, live sessions, and history. Each tool serves a distinct aspect without bloat.
The surface covers core F1 data needs: schedules, race/weekend info, classifications, standings, live status, history search, and comparisons. Minor gaps exist like no direct driver profile tool, but search_f1_history fills this, and multi-race queries are handled via the plural results tool.
Available Tools
15 toolscompare_f1_competitorsCompare F1 CompetitorsARead-onlyIdempotentInspect
Compare two Formula 1 drivers or constructors in one season using sourced standings and explicitly described calculations.
| Name | Required | Description | Default |
|---|---|---|---|
| left | Yes | First driver or constructor name to compare. | |
| year | Yes | Formula 1 season year. | |
| right | Yes | Second driver or constructor name to compare. | |
| competitorType | Yes | Compare two drivers or two constructors. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| left | Yes | |
| year | Yes | |
| right | Yes | |
| leader | Yes | |
| source | Yes | |
| comparison | Yes | |
| generatedAt | Yes | |
| methodology | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds value by noting 'using sourced standings and explicitly described calculations', which informs about data origin and computation method. No contradiction with 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?
Single sentence, front-loaded with action and resource. Every word earns its place with no redundancy.
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?
Tool has output schema and required parameters are all covered. Description mentions calculations which is important for a comparison tool. Slightly incomplete regarding return format, but output schema likely covers that.
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 good parameter descriptions. The description adds minimal extra beyond schema (only mentions calculation method). 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?
Description clearly states 'compare two Formula 1 drivers or constructors in one season' with specific verb (compare) and resource (drivers/constructors). It distinguishes from sibling tools like get_f1_standings by emphasizing head-to-head comparison and explicitly described calculations.
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 context is implied ('compare two...') but no explicit when-to-use or when-not-to-use guidance is given. No alternatives are mentioned despite sibling tools like get_f1_standings that could serve similar purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_circuitF1 Circuit DetailsARead-onlyIdempotentInspect
Get circuit metadata and normalized track geometry for a race weekend selected by meeting key, round, race name, or slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix. | |
| year | Yes | Formula 1 season year. | |
| round | No | Championship round number for the season. | |
| raceName | No | Human-friendly Grand Prix or race name, matched case-insensitively. | |
| meetingKey | No | OpenF1 meeting key for the race weekend. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| round | Yes | |
| circuit | Yes | |
| raceName | Yes | |
| sourceUrl | Yes | |
| meetingKey | Yes | |
| canonicalUrl | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description need not repeat safety details. It adds 'metadata and normalized track geometry' but doesn't elaborate on output format or pagination. With annotations covering safety, a score of 3 is appropriate.
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 a single sentence of 18 words, front-loading the core action and resource. Every word is necessary, with no redundancy.
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?
Given the existence of an output schema and comprehensive annotations, the description adequately covers the tool's purpose and selection method. It could mention that it returns only circuit-related data (not session results), but that is implied. Overall, it is nearly complete for a simple read tool.
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 each parameter thoroughly. The tool description restates the selection criteria but adds no new semantic meaning beyond the schema. Baseline 3 is correct.
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 clearly states the tool retrieves circuit metadata and normalized track geometry for a race weekend, using specific selection criteria (meeting key, round, race name, or slug). It distinguishes itself from sibling tools, which focus on competitors, sessions, or results.
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 description implicitly defines when to use the tool (when circuit details for a specific race weekend are needed) but lacks explicit guidance on when not to use it or mention of alternatives. Since sibling tools are distinct, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_historical_race_resultHistorical race resultARead-onlyIdempotentInspect
Get one complete historical Formula 1 race classification by season and championship round. Use only for a single race; for two or more races, call get_f1_historical_race_results once instead.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Formula 1 season year. | |
| round | Yes | Championship round number in the historical season. |
Output Schema
| Name | Required | Description |
|---|---|---|
| race | Yes | |
| year | Yes | |
| round | Yes | |
| results | Yes | |
| sourceUrl | Yes | |
| generatedAt | Yes | |
| canonicalUrl | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the semantic context of 'complete' classification but does not disclose additional behaviors like response format or pagination. With annotations present, this meets the baseline for transparency.
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 with no filler. The primary action is front-loaded, and the alternative usage is given immediately, making every word earn its place.
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?
The tool is simple with only 2 parameters, has a complete output schema, and rich annotations. The description clearly defines the single-race scope and points to the plural variant for multiple races. No critical information is missing for an agent to select and invoke the tool 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 description coverage is 100%, with both `year` and `round` having clear descriptions. The description's mention of 'season and championship round' reinforces but does not add new syntax or format details beyond the schema, so the baseline score of 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 states 'Get one complete historical Formula 1 race classification by season and championship round' which includes a specific verb, resource, and scoping identifiers. It explicitly distinguishes from sibling get_f1_historical_race_results by noting it handles only a single race, preventing ambiguity.
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 description explicitly says 'Use only for a single race; for two or more races, call get_f1_historical_race_results once instead.' This clearly states when to use the tool and names the alternative, providing direct usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_historical_race_resultsHistorical race resultsARead-onlyIdempotentInspect
Get 2 to 8 complete historical Formula 1 race classifications in one consolidated request, with per-race sources and bounded partial failures. Use once for multi-race questions instead of repeating get_f1_historical_race_result.
| Name | Required | Description | Default |
|---|---|---|---|
| races | Yes | Two to eight historical races to retrieve in one request. |
Output Schema
| Name | Required | Description |
|---|---|---|
| races | Yes | |
| unavailable | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, lowering the bar. The description adds valuable behavioral context beyond annotations: 'per-race sources' and 'bounded partial failures' indicate how failures are handled in a multi-race batch. This is meaningful but not exhaustive, so a 4 is appropriate.
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 concise sentences that front-load the core purpose and immediately follow with usage guidance. Every phrase earns its place, with no redundant elaboration or repetition of schema details.
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?
Given the low complexity (single parameter), rich schema descriptions, comprehensive annotations, and presence of an output schema, the description provides sufficient context. It covers what the tool does, when to use it, and key behavioral caveats like partial failures, making it complete for agent decision-making.
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 schema has 100% description coverage and clearly documents the races array, year, and round fields. The description adds little parameter-level meaning beyond restating the 2-to-8 range and consolidated nature that are already in the schema, 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 clearly states a specific verb ('Get') and resource ('2 to 8 complete historical Formula 1 race classifications') plus the key differentiator of a consolidated request. It explicitly distinguishes itself from the singular sibling tool get_f1_historical_race_result by naming it in the usage guidance.
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 gives an explicit usage directive: 'Use once for multi-race questions instead of repeating get_f1_historical_race_result.' This clearly communicates when to use this tool and names the alternative, satisfying the when/when-not/alternatives criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_live_sessionLive F1 Session StatusARead-onlyIdempotentInspect
Get the latest explicitly timestamped status for the current or selected Formula 1 session. Returns unavailable rather than implying stale data is live.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Season to inspect. Defaults to the current UTC season. | |
| meetingKey | No | Optional OpenF1 meeting key. Omit to discover the current live session. | |
| sessionKey | No | Optional OpenF1 session key. Requires meetingKey when supplied. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| state | Yes | |
| isLive | Yes | |
| endDate | Yes | |
| message | Yes | |
| sourceUrl | Yes | |
| startDate | Yes | |
| meetingKey | Yes | |
| observedAt | Yes | |
| sessionKey | Yes | |
| sessionKind | Yes | |
| sessionName | Yes | |
| dataTimestamp | Yes | |
| dataDelaySeconds | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description does not need to restate those. It adds valuable behavioral context beyond annotations by disclosing that the data is 'explicitly timestamped' and that the tool returns 'unavailable' rather than presenting stale data as live. This is a useful nuance for agent trust.
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 exactly two sentences, front-loaded with the verb and resource, and every clause adds value—the timestamped nature and the unavailable-vs-stale behavior are both essential. There is no wasted or redundant wording.
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 a rich output schema, complete annotations, and full parameter descriptions, the description only needs to add the key behavioral nuance, which it does. The tool's complexity is low, and the description covers the live-status semantic fully so an agent can invoke 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 description coverage is 100%, and each parameter already has clear descriptions (year, meetingKey, sessionKey). The description's mention of 'selected session' does not add new parameter-level detail beyond what the schema provides. Baseline 3 is appropriate since the schema handles semantics well.
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 uses a specific verb ('Get') and clearly identifies the resource (latest explicitly timestamped status for the current or selected Formula 1 session). It also distinguishes this tool from siblings by emphasizing 'explicitly timestamped' and 'unavailable rather than stale,' which differentiates it from historical result tools.
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 description clearly sets the context: it is for live session status, with the ability to select a session by season, meeting key, or session key. It does not explicitly name alternative tools or provide when-not-to-use exclusions, but the phrase 'rather than implying stale data is live' gives clear usage expectations for a live-status tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_next_eventNext F1 EventARead-onlyIdempotentInspect
Find the next Formula 1 session or race weekend from a UTC timestamp, including an event already in progress.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | UTC timestamp to search from. Defaults to the current time. | |
| year | No | Season to search. Defaults to the season containing the search timestamp, then the following season if needed. | |
| level | No | Return the next individual session or the next race weekend. Defaults to session. | session |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| event | Yes | |
| level | Yes | |
| sourceUrl | Yes | |
| canonicalUrl | Yes | |
| searchedFrom | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the key behavior 'including an event already in progress', which provides context beyond annotations, but not extensive behavioral details.
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 a single, front-loaded sentence that efficiently captures the tool's purpose and key behavior with no unnecessary 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?
Given the tool's simplicity, the presence of an output schema, and thorough annotations, the description fully covers the necessary context. No gaps are evident.
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 baseline is 3. The description reinforces the purpose of the 'from' parameter but does not add meaning beyond what the schema already provides for each parameter.
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 clearly states the verb 'Find' and the resource 'next Formula 1 session or race weekend', including the nuance of an event in progress. This distinguishes it from sibling tools like get_f1_season_schedule or get_f1_race_weekend.
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 description implies usage for finding the next event based on a UTC timestamp, which is clear. However, it does not explicitly mention when not to use it or name alternative tools, but the context is sufficient for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_race_classificationF1 Race ClassificationARead-onlyIdempotentInspect
Get a published F1DB race, qualifying, or sprint classification by season and a friendly race selector, without requiring meeting or session keys.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix. | |
| year | Yes | Formula 1 season year. | |
| round | No | Championship round number for the season. | |
| raceName | No | Human-friendly Grand Prix or race name, matched case-insensitively. | |
| meetingKey | No | OpenF1 meeting key for the race weekend. | |
| classification | No | Published F1DB classification to return. Defaults to the Grand Prix race. | race |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| round | Yes | |
| source | Yes | |
| results | Yes | |
| raceName | Yes | |
| available | Yes | |
| sourceUrl | Yes | |
| meetingKey | Yes | |
| sessionKey | Yes | |
| resultCount | Yes | |
| canonicalUrl | Yes | |
| classification | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds valuable context beyond these: it specifies the data source (F1DB), that classifications are published, and that selectors are friendly rather than raw keys. This adds meaningful behavioral insight without any contradiction.
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 a single, well-structured sentence that front-loads the core purpose (get classification) and follows with essential qualifiers (published F1DB, race/qualifying/sprint, season, friendly selector, no keys). Every word adds meaning, and there is no redundancy.
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?
Given the rich input schema (100% coverage), clear annotations, and the presence of an output schema, the description is adequately complete. It communicates the primary use case, the selector approach, and the data scope. The absence of explicit return-value details is acceptable because the output schema covers that.
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 detailed explanations for each parameter including the oneOf selector options and the classification enum. The description's phrase 'friendly race selector' provides a high-level unifying concept, but it does not add syntax or formatting details beyond what the schema already offers. 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 clearly states it retrieves published F1DB race, qualifying, or sprint classifications using a season and a friendly race selector, and explicitly notes it does not require meeting or session keys. This differentiates it from sibling tools like get_f1_session_results by specifying the data source and the selector style.
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 description clearly implies when to use it (when you need a published classification and have a season plus a human-friendly race selector) and also explains what it avoids (meeting/session keys). However, it does not explicitly exclude alternative tools or name them, so it lacks explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_race_previewSpoiler-safe F1 Race PreviewARead-onlyIdempotentInspect
Get a structurally spoiler-safe race-weekend briefing containing schedule and venue context but no classifications, winners, podiums, or result fields.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix. | |
| year | Yes | Formula 1 season year. | |
| round | No | Championship round number for the season. | |
| raceName | No | Human-friendly Grand Prix or race name, matched case-insensitively. | |
| meetingKey | No | OpenF1 meeting key for the race weekend. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| sourceUrl | Yes | |
| raceWeekend | Yes | |
| spoilerSafe | Yes | |
| canonicalUrl | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond annotations: it clarifies the output contains no classifications, winners, or results, and confirms it is safe for spoiler-sensitive users. No contradiction with readOnlyHint and destructiveHint.
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 effectively communicates the tool's purpose, contents, and exclusions. No wasted words; key information is front-loaded.
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?
Given the presence of an output schema (not shown) and robust annotations, the description is fully adequate. It covers what the tool does, what it omits, and its safety characteristics without needing elaboration on return format.
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 schema already provides 100% coverage with clear descriptions for all parameters (year, meetingKey, round, raceName, slug) and a oneOf constraint. The tool description adds no further parameter-level insights, so baseline score 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 clearly states the tool's purpose: obtaining a spoiler-safe race-weekend briefing with schedule and venue context, explicitly excluding results. This uniquely distinguishes it from siblings like get_f1_historical_race_result and get_f1_session_results that return outcome data.
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 description implies usage for spoiler-free previews, but does not explicitly state when to avoid this tool or suggest alternatives for results. While the context is clear, direct guidelines would improve selection accuracy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_race_weekendF1 Race WeekendARead-onlyIdempotentInspect
Get one public Formula 1 race weekend by season and exactly one friendly selector: meeting key, round, race name, or slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix. | |
| year | Yes | Formula 1 season year. | |
| round | No | Championship round number for the season. | |
| raceName | No | Human-friendly Grand Prix or race name, matched case-insensitively. | |
| meetingKey | No | OpenF1 meeting key for the race weekend. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| sourceUrl | Yes | |
| raceWeekend | Yes | |
| canonicalUrl | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with annotations (readOnlyHint, idempotentHint, destructiveHint) and adds context by specifying 'public' race weekend and listing selector constraints. Annotations already cover the core behavioral traits, so the description provides limited additional transparency.
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 a single 20-word sentence that delivers all essential information upfront. There is no redundant or extraneous content; every word serves a purpose.
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?
Given the presence of a complete output schema and annotations, the description sufficiently covers the tool's purpose, parameters, and unique constraints. It does not need to explain return values or further behavior.
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?
Input schema coverage is 100%, so the schema documents all parameters. The description adds the notion of 'friendly selector' and reinforces the oneOf constraint, but this is already implied by the schema structure. Baseline score of 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 uses a specific verb 'Get' and identifies the resource 'one public Formula 1 race weekend'. It lists the exact selectors (meeting key, round, race name, or slug), distinguishing it from sibling tools that may list multiple or require different identifiers.
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 description clearly states the required inputs: a season and exactly one of the four selectors. This provides direct usage guidance. However, it does not explicitly mention when not to use this tool or suggest alternatives like get_f1_season_schedule or get_f1_race_preview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_season_scheduleF1 Season ScheduleARead-onlyIdempotentInspect
Get the verified public Formula 1 schedule for a season, including UTC session times, freshness, results, and canonical links.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Formula 1 season year. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| races | Yes | |
| source | Yes | |
| raceCount | Yes | |
| sourceUrl | Yes | |
| staleAfter | Yes | |
| generatedAt | Yes | |
| canonicalUrl | Yes | |
| lastVerifiedAt | Yes | |
| refreshIntervalSeconds | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only and idempotent. The description adds valuable context about the data being 'verified public' and lists specific return elements (UTC times, freshness, results, links). This goes beyond annotations by describing content and quality.
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 a single, well-structured sentence that front-loads the core action and immediately specifies what the tool returns. Every word is necessary, and there is no redundancy or verbosity.
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 simple read tool with one parameter and an existing output schema, the description covers the key return aspects. However, given the sibling tools, a brief note on when to use this vs. others would make it more complete. The output schema compensates for missing return format details.
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% for the single 'year' parameter, with a clear description in the schema. The tool description does not add new parameter-level information beyond confirming the schedule is 'for a season,' which is baseline acceptable.
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 clearly states the action ('Get'), the resource ('verified public Formula 1 schedule for a season'), and the contents ('UTC session times, freshness, results, and canonical links'). It is distinct from sibling tools which focus on circuits, driver sessions, or specific events.
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 description implies usage when the full season schedule is needed but provides no explicit guidance on when to use this tool instead of alternatives like get_f1_next_event or get_f1_race_weekend. With 14 siblings, more differentiation would improve score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_session_resultsF1 Session ResultsBRead-onlyIdempotentInspect
Get the published F1DB classification for one Formula 1 session by season, meeting key, and session key, with positions and available result details.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Formula 1 season year. | |
| meetingKey | Yes | OpenF1 meeting key for the race weekend. | |
| sessionKey | Yes | OpenF1 session key. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| source | Yes | |
| results | Yes | |
| sourceUrl | Yes | |
| meetingKey | Yes | |
| sessionKey | Yes | |
| resultCount | Yes | |
| canonicalUrl | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds the context that results are 'published' (not live) and that it returns 'positions and available result details', which is useful but doesn't cover edge cases or response behavior.
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, focused sentence with no filler words. The key information is front-loaded in the first phrase.
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?
Given the high schema coverage and strong annotations, the description is largely sufficient for a simple read-only lookup tool. It defines the unique purpose and scoping ('one session', 'published') but lacks usage guidelines to differentiate from sibling tools.
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?
Input schema covers all three parameters (year, meetingKey, sessionKey) with descriptions, so the description adds no additional parameter semantics. It merely restates the keys in the same terms as 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 uses the specific verb 'Get' and identifies the resource as 'published F1DB classification for one Formula 1 session', with key identifiers 'by season, meeting key, and session key'. It clearly communicates what the tool returns, though it does not explicitly contrast with sibling tools like get_f1_race_classification.
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 guidance on when to use this tool versus alternatives such as get_f1_race_classification or get_f1_historical_race_result. The description only states what it does, not the scenarios for which it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_standingsF1 StandingsARead-onlyIdempotentInspect
Get the public Formula 1 driver and constructor standings for a season with canonical source links.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Formula 1 season year. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| drivers | Yes | |
| sourceUrl | Yes | |
| sessionKey | Yes | |
| canonicalUrl | Yes | |
| constructors | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, fully covering safety and idempotency. The description adds minor behavioral context (canonical source links) but does not significantly expand beyond annotations. No contradiction present.
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 a single sentence of 14 words, conveying all essential information with zero redundancy. Every word earns its place—no wasted text.
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 simple tool with one parameter and an output schema (exists but not shown), the description covers the main goal. However, it could explicitly state that both driver and constructor standings are returned in a single call to avoid ambiguity. Still, it is largely complete.
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% with the 'year' parameter already described in the input schema. The description does not add new meaning or constraints beyond what the schema provides, such as valid season ranges or date formats, so 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 clearly states the tool retrieves both driver and constructor standings for a season, using a specific verb ('Get') and resource ('public Formula 1 driver and constructor standings'). It distinguishes from sibling tools like get_f1_session_results or get_f1_driver_session_summary, which have different scopes.
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 description provides no explicit guidance on when to use this tool versus alternatives. Given the large set of sibling tools (e.g., get_f1_historical_race_result, get_f1_season_schedule), some contextual advice on when standings are appropriate would help agents, though the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_starting_gridF1 Starting GridARead-onlyIdempotentInspect
Get the published F1DB starting grid for one Formula 1 session by season, meeting key, and session key; use session results for the final classification.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Formula 1 season year. | |
| meetingKey | Yes | OpenF1 meeting key for the race weekend. | |
| sessionKey | Yes | OpenF1 session key. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| source | Yes | |
| sourceUrl | Yes | |
| entryCount | Yes | |
| meetingKey | Yes | |
| sessionKey | Yes | |
| canonicalUrl | Yes | |
| startingGrid | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that this returns the 'published' starting grid for a single session and clarifies it is not the final classification, but it does not disclose additional behavioral details such as pagination or error conditions.
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 a single sentence, front-loaded with the verb 'Get', and every clause adds value. No redundant or filler text.
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?
Given the output schema exists and the annotations cover safety, the description provides the essential information: what the tool returns, how to identify the session, and when to use an alternative. Enough for an agent to invoke 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?
The input schema provides 100% coverage with descriptions for each of the three required parameters (year, meetingKey, sessionKey). The description merely names these keys ('by season, meeting key, and session key') without adding any meaning beyond 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 uses a specific verb 'Get' and identifies the exact resource 'F1DB starting grid for one Formula 1 session', clearly distinguishing it from sibling tools like get_f1_session_results or get_f1_race_classification.
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 description explicitly advises to 'use session results for the final classification', providing an alternative for a different need. This tells the agent when not to use this tool (for final classifications) and points to the appropriate sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_f1_updatesRecent F1 ChangesARead-onlyIdempotentInspect
Get recent public schedule, standings, and result changes after an optional timestamp or cursor.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum changes to return. Defaults to 20 and never exceeds 50. | |
| since | No | Only return changes after this UTC timestamp. | |
| cursor | No | Opaque continuation cursor returned by an earlier updates request. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| since | Yes | |
| nextCursor | Yes | |
| generatedAt | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds value by specifying the type of data returned (schedule, standings, results) and the optional timestamp/cursor for incremental updates. No contradictions.
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 a single, clear sentence with zero wasted words. Essential information is front-loaded.
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 simple read-only polling tool, the description covers the core functionality. An output schema exists, so return values are covered. Minor gap: could mention that cursor is for pagination, but schema already explains 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%, so the schema already documents all three parameters. The description mentions 'optional timestamp or cursor' which mirrors the schema. No additional semantic meaning beyond what the schema provides.
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 clearly states the verb 'Get' and specifies the resource: 'recent public schedule, standings, and result changes' with a condition 'after an optional timestamp or cursor.' It effectively distinguishes itself from sibling tools which focus on specific races, sessions, or historical data.
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 description implies usage for polling changes over time but does not explicitly mention when to use or avoid this tool relative to alternatives. No guidance on when not to use or how it differs from similar update tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_f1_historySearch F1 HistoryARead-onlyIdempotentInspect
Search the Formula 1 history index for drivers, teams, circuits, and races with bounded, cursor-based results.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return. Defaults to 10 and never exceeds 20. | |
| query | Yes | Driver, team, circuit, or race text to find. | |
| types | No | Optional unique entity types to include in the search. | |
| cursor | No | Opaque continuation cursor returned by an earlier history search. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| query | Yes | |
| types | Yes | |
| nextCursor | Yes | |
| generatedAt | Yes | |
| sourceUpdatedAt | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that results are 'bounded, cursor-based', which provides some behavioral context beyond the annotations, but does not disclose details like default sorting or pagination limits beyond 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?
The description is a single, efficient sentence that covers the key aspects without unnecessary words. It is front-loaded with the main purpose and succinctly includes scope and result mechanism.
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?
Given the tool is a search with cursor-based pagination and four parameters, the description is fairly complete. The presence of an output schema reduces the need to describe return values. However, it lacks details on search behavior (e.g., substring matching, case sensitivity) and what the cursor represents, though these are minor.
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?
All parameters have schema descriptions (100% coverage), so the baseline is 3. The description does not add significant additional meaning beyond what the schema already provides; it references 'bounded' and 'cursor-based' but these are also reflected in the parameter descriptions.
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 clearly states the verb 'Search' and the resource 'Formula 1 history index', listing specific entity types (drivers, teams, circuits, races). This distinguishes it from sibling tools which are all 'get_*' or 'compare' operations.
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 description implies usage for searching across multiple entity types and mentions 'bounded, cursor-based results', but does not explicitly state when to use it versus alternatives. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceProvides comprehensive Formula 1 data and analytics for Claude Desktop, including race results, telemetry, standings, and strategy insights through 36+ tools.1MIT
- Alicense-qualityDmaintenanceEnables Formula 1 data analysis through natural language, providing tools like track dominance, lap time analysis, and team performance comparisons.Apache 2.0
- Alicense-qualityDmaintenanceEnables AI assistants to query real-time and historical Formula 1 data through the OpenF1 API, providing tools for driver info, lap times, telemetry, race events, and more.MIT
- Flicense-qualityCmaintenanceA real-time Formula 1 analytics server that lets you ask natural language questions about races, lap times, tyre strategies, pit stops, and more using live data from the OpenF1 API.