Skip to main content
Glama
rakeshgangwar

Formula One MCP Server

Servidor MCP de Fórmula Uno

Este servidor de Protocolo de Contexto de Modelo (MCP) proporciona acceso a datos y estadísticas de Fórmula 1 mediante la biblioteca de Python FastF1. Permite acceder a calendarios de carreras, información de eventos, resultados de sesiones, datos de pilotos, tiempos de vuelta, telemetría y clasificaciones del campeonato a través de una interfaz MCP sencilla.

Características

  • Obtenga calendarios de carreras de Fórmula Uno para temporadas específicas

  • Recupere información detallada sobre los eventos del Gran Premio

  • Obtener resultados de la sesión (Carrera, Clasificación, Práctica)

  • Acceda a la información y estadísticas del conductor

  • Analice el rendimiento del conductor con tiempos de vuelta y datos de telemetría.

  • Comparar el rendimiento de varios conductores

  • Obtenga la clasificación del campeonato de pilotos y constructores

Related MCP server: Formula One MCP Server

Prerrequisitos

  • Node.js 18 o posterior

  • Python 3.8 o posterior

  • Biblioteca FastF1

Instalación

1. Instalar las dependencias de Python

pip install fastf1 pandas numpy

2. Instalar las dependencias de Node.js

cd f1-mcp-server
npm install

3. Construya el código TypeScript

npm run build

4. Agregar a la configuración de MCP

Agregue lo siguiente a su archivo de configuración de Cline MCP ( ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json ):

{
  "mcpServers": {
    "formula1": {
      "command": "node",
      "args": ["/Users/rakeshgangwar/Documents/Cline/MCP/f1-mcp-server/build/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Herramientas disponibles

1. get_event_schedule

Obtenga el calendario de carreras de Fórmula Uno para una temporada específica.

Parámetros:

  • year (número): Año de la temporada (p. ej., 2023)

2. get_event_info

Obtenga información detallada sobre un Gran Premio de Fórmula Uno específico.

Parámetros:

  • year (número): Año de la temporada (p. ej., 2023)

  • identifier (cadena): nombre del evento o número de ronda (por ejemplo, "Mónaco" o "7")

3. get_session_results

Obtenga resultados para una sesión específica de Fórmula Uno.

Parámetros:

  • year (número): Año de la temporada (p. ej., 2023)

  • event_identifier (cadena): Nombre del evento o número de ronda (por ejemplo, "Mónaco" o "7")

  • session_name (cadena): Nombre de la sesión (p. ej., "Carrera", "Clasificación", "Sprint", "FP1", "FP2", "FP3")

4. get_driver_info

Obtenga información sobre un piloto de Fórmula Uno específico.

Parámetros:

  • year (número): Año de la temporada (p. ej., 2023)

  • event_identifier (cadena): Nombre del evento o número de ronda (por ejemplo, "Mónaco" o "7")

  • session_name (cadena): Nombre de la sesión (p. ej., "Carrera", "Clasificación", "Sprint", "FP1", "FP2", "FP3")

  • driver_identifier (cadena): identificador del conductor (número, código o nombre; p. ej., "44", "HAM", "Hamilton")

5. analyze_driver_performance

Analizar el rendimiento de un piloto en una sesión de Fórmula Uno.

Parámetros:

  • year (número): Año de la temporada (p. ej., 2023)

  • event_identifier (cadena): Nombre del evento o número de ronda (por ejemplo, "Mónaco" o "7")

  • session_name (cadena): Nombre de la sesión (p. ej., "Carrera", "Clasificación", "Sprint", "FP1", "FP2", "FP3")

  • driver_identifier (cadena): identificador del conductor (número, código o nombre; p. ej., "44", "HAM", "Hamilton")

6. compare_drivers

Compare el rendimiento entre varios pilotos de Fórmula Uno.

Parámetros:

  • year (número): Año de la temporada (p. ej., 2023)

  • event_identifier (cadena): Nombre del evento o número de ronda (por ejemplo, "Mónaco" o "7")

  • session_name (cadena): Nombre de la sesión (p. ej., "Carrera", "Clasificación", "Sprint", "FP1", "FP2", "FP3")

  • drivers (cadena): lista de códigos de controlador separados por comas (por ejemplo, "HAM,VER,LEC")

7. get_telemetry

Obtenga datos de telemetría para una vuelta específica de Fórmula Uno.

Parámetros:

  • year (número): Año de la temporada (p. ej., 2023)

  • event_identifier (cadena): Nombre del evento o número de ronda (por ejemplo, "Mónaco" o "7")

  • session_name (cadena): Nombre de la sesión (p. ej., "Carrera", "Clasificación", "Sprint", "FP1", "FP2", "FP3")

  • driver_identifier (cadena): identificador del conductor (número, código o nombre; p. ej., "44", "HAM", "Hamilton")

  • lap_number (número, opcional): número de vuelta (obtiene la vuelta más rápida si no se proporciona)

8. get_championship_standings

Obtenga la clasificación del campeonato de Fórmula Uno.

Parámetros:

  • year (número): Año de la temporada (p. ej., 2023)

  • round_num (número, opcional): Número de ronda (obtiene las últimas clasificaciones si no se proporciona)

Ejemplo de uso

Una vez que el servidor se agrega a la configuración de MCP y está en funcionamiento, puede usar estas herramientas con Cline para acceder a los datos de Fórmula Uno.

Consultas de ejemplo:

  • "Muéstrame el calendario de carreras de Fórmula 1 de 2023"

  • Consulta los resultados del Gran Premio de Mónaco de 2022.

  • Compara el rendimiento de Hamilton y Verstappen en el Gran Premio de Gran Bretaña de 2021.

  • Muéstrame los datos de telemetría de la vuelta más rápida de Leclerc en la clasificación del Gran Premio de Italia de 2023.

  • "¿Cuál es la clasificación actual del campeonato de F1?"

Fuente de datos

Este servidor utiliza la biblioteca Python FastF1 , que proporciona acceso a datos oficiales de cronometraje de Fórmula 1, telemetría de automóviles y resultados de sesiones.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Available Tools

8 tools
analyze_driver_performanceC

Analyze a driver's performance in a Formula One session

ParametersJSON Schema
NameRequiredDescriptionDefault
driver_identifierYesDriver identifier (number, code, or name; e.g., "44", "HAM", "Hamilton")
event_identifierYesEvent name or round number (e.g., "Monaco" or "7")
session_nameYesSession name (e.g., "Race", "Qualifying", "Sprint", "FP1", "FP2", "FP3")
yearYesSeason year (e.g., 2023)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It states the tool analyzes performance but doesn't describe what the analysis entails (e.g., metrics returned, format of results, potential errors, or data sources). For a tool with four required parameters and no output schema, this lack of behavioral context is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse. Every part of the sentence contributes to understanding the tool's function.

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

Completeness2/5

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

Given the complexity of a performance analysis tool with four required parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the analysis returns, how results are structured, or any behavioral aspects like error handling. The schema covers inputs well, but the description fails to address the tool's output and operational context adequately.

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

Parameters3/5

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

The description adds no parameter-specific information beyond what the input schema provides, which has 100% coverage with clear descriptions for all four parameters. Since the schema fully documents the parameters, the baseline score of 3 is appropriate. The description doesn't compensate for any gaps, but none exist in the schema.

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

Purpose4/5

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

The description clearly states the action ('analyze') and resource ('driver's performance in a Formula One session'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'compare_drivers' or 'get_session_results', but the focus on individual driver analysis is implied. The description avoids tautology by specifying what is being analyzed beyond just the tool name.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'compare_drivers' or 'get_session_results'. It doesn't mention prerequisites, such as needing valid identifiers, or contextual factors like data availability. The agent must infer usage from the tool name and parameters alone, which is insufficient for optimal selection.

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

compare_driversC

Compare performance between multiple Formula One drivers

ParametersJSON Schema
NameRequiredDescriptionDefault
driversYesComma-separated list of driver codes (e.g., "HAM,VER,LEC")
event_identifierYesEvent name or round number (e.g., "Monaco" or "7")
session_nameYesSession name (e.g., "Race", "Qualifying", "Sprint", "FP1", "FP2", "FP3")
yearYesSeason year (e.g., 2023)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'compare performance' but doesn't specify what 'performance' entails (e.g., lap times, positions, statistics), how results are returned, or any constraints like rate limits or authentication needs. This is a significant gap for a tool with multiple required parameters and 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.

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without any fluff. It's front-loaded and wastes no words, making it easy for an agent to parse quickly. Every word earns its place in conveying the core function.

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

Completeness2/5

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

Given the complexity of comparing multiple drivers across events and sessions, with no annotations and no output schema, the description is insufficient. It doesn't explain what 'performance' means, how comparisons are made, or what the output looks like. This leaves critical gaps for an agent to understand the tool's behavior and results.

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

Parameters3/5

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

The schema description coverage is 100%, with each parameter clearly documented in the input schema. The description adds no additional meaning beyond the schema, such as explaining interactions between parameters or usage examples. This meets the baseline for high schema coverage but doesn't enhance understanding.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Compare performance between multiple Formula One drivers.' It specifies the verb 'compare' and the resource 'Formula One drivers,' but doesn't explicitly differentiate from siblings like 'analyze_driver_performance' or 'get_session_results,' which might overlap in functionality. This makes it clear but not fully distinct.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'analyze_driver_performance' and 'get_session_results' that might offer similar or related data, there's no indication of context, prerequisites, or exclusions. This leaves the agent without direction on tool selection.

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

get_championship_standingsC

Get Formula One championship standings

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesSeason year (e.g., 2023)
round_numNoRound number (optional, gets latest standings if not provided)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It only states the basic purpose and does not disclose any behavioral traits such as data ordering, pagination, or whether historical data is included.

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

Conciseness4/5

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

The description is a single, complete sentence with no wasted words. It is appropriately front-loaded but lacks any structural elements like sections or examples.

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

Completeness3/5

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

For a simple retrieval tool with fully documented parameters and no output schema, the description is adequate. However, it could be improved by mentioning the return format or scope (e.g., drivers and/or constructors).

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

Parameters3/5

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

Both parameters (year, round_num) are documented in the input schema with descriptions. The tool description adds no additional semantics beyond what the schema already provides, 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.

Purpose4/5

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

The description clearly states the tool retrieves Formula One championship standings, which is a specific verb+resource. It distinguishes itself from sibling tools that focus on drivers, events, or sessions, though it could be more explicit about whether standings include drivers, constructors, or both.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, filtering options, or scenarios where other tools might be more appropriate.

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

get_driver_infoC

Get information about a specific Formula One driver

ParametersJSON Schema
NameRequiredDescriptionDefault
driver_identifierYesDriver identifier (number, code, or name; e.g., "44", "HAM", "Hamilton")
event_identifierYesEvent name or round number (e.g., "Monaco" or "7")
session_nameYesSession name (e.g., "Race", "Qualifying", "Sprint", "FP1", "FP2", "FP3")
yearYesSeason year (e.g., 2023)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but only states it 'gets information' without specifying what type of information (e.g., biographical, performance stats), format, or any constraints like rate limits, authentication needs, or data freshness. This is inadequate for a tool with four required parameters and 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.

Conciseness5/5

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

The description is a single, direct sentence with zero wasted words, front-loading the core purpose efficiently. It's appropriately sized for a straightforward retrieval tool, making it easy for an agent to parse quickly.

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

Completeness2/5

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

Given the complexity (four required parameters, no output schema, and no annotations), the description is incomplete. It doesn't explain what information is returned, how results are structured, or any behavioral traits like error handling. This leaves significant gaps for an agent to invoke the tool correctly without additional context.

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

Parameters3/5

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

The schema description coverage is 100%, so the input schema fully documents all four parameters with clear descriptions and examples. The description adds no additional parameter semantics beyond implying it retrieves driver-specific data, which is already evident from the tool name and schema. This meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the verb ('Get') and resource ('information about a specific Formula One driver'), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'analyze_driver_performance' or 'get_session_results', which might also provide driver-related information in different contexts.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context (e.g., historical vs. real-time data), or how it differs from siblings like 'analyze_driver_performance' or 'get_session_results', leaving the agent to infer usage from parameters alone.

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

get_event_infoB

Get detailed information about a specific Formula One Grand Prix

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesEvent name or round number (e.g., "Monaco" or "7")
yearYesSeason year (e.g., 2023)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states it 'gets' information (implying a read operation) but doesn't cover aspects like authentication needs, rate limits, error conditions, or what 'detailed information' includes (e.g., circuit details, race results, weather). This leaves significant gaps for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose with zero wasted words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

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

Completeness3/5

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

Given the tool's moderate complexity (2 required parameters, no output schema, no annotations), the description is minimally adequate. It clarifies the resource (Formula One Grand Prix) but lacks context on return values, error handling, or differentiation from siblings. With no output schema, the agent must infer what 'detailed information' entails, which is a notable gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters ('identifier' and 'year') with clear descriptions. The description adds no additional parameter semantics beyond what's in the schema, such as format examples or constraints, but this is acceptable given the high schema coverage baseline.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'detailed information about a specific Formula One Grand Prix', making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_event_schedule' or 'get_session_results', which might provide overlapping or related event information.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention siblings like 'get_event_schedule' (which might list events) or 'get_session_results' (which might provide race outcomes), leaving the agent to infer usage context from tool names alone.

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

get_event_scheduleC

Get Formula One race calendar for a specific season

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesSeason year (e.g., 2023)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves a calendar but does not describe any behavioral traits, such as whether it's a read-only operation, potential rate limits, authentication needs, error handling, or the format of the returned data. This is a significant gap for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is a single, clear sentence that efficiently conveys the tool's purpose without any unnecessary words. It is front-loaded with the core functionality, making it easy for an agent to quickly understand what the tool does. Every part of the sentence earns its place by specifying the resource and scope.

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

Completeness2/5

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

Given the complexity of retrieving a race calendar, the lack of annotations, and no output schema, the description is incomplete. It does not explain what the return value includes (e.g., list of events, dates, locations) or any behavioral aspects like data freshness or limitations. For a tool with no structured output information, more context is needed to be fully helpful.

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

Parameters3/5

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

The input schema has 100% description coverage, with the 'year' parameter clearly documented as 'Season year (e.g., 2023).' The description adds no additional parameter semantics beyond what the schema provides, such as valid year ranges or examples. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Get Formula One race calendar for a specific season.' It specifies the verb ('Get') and resource ('Formula One race calendar'), and mentions the scope ('for a specific season'). However, it does not explicitly differentiate this tool from its sibling tools like 'get_event_info' or 'get_session_results,' which might also relate to events or sessions.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or suggest other tools for related tasks, such as using 'get_event_info' for details on a single event or 'get_session_results' for race results. This lack of context leaves the agent without clear usage instructions.

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

get_session_resultsC

Get results for a specific Formula One session

ParametersJSON Schema
NameRequiredDescriptionDefault
event_identifierYesEvent name or round number (e.g., "Monaco" or "7")
session_nameYesSession name (e.g., "Race", "Qualifying", "Sprint", "FP1", "FP2", "FP3")
yearYesSeason year (e.g., 2023)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It doesn't specify whether this is a read-only operation, what format results are returned in, whether authentication is required, or any rate limits. For a tool that presumably queries historical data, this leaves significant behavioral questions unanswered.

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

Conciseness5/5

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

The description is perfectly concise at a single sentence that directly states the tool's purpose with zero wasted words. It's front-loaded with the essential information and doesn't include any unnecessary elaboration or redundant phrasing.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is insufficiently complete. For a tool that retrieves session results, users need to know what format results are returned in (e.g., structured data, raw text, specific metrics), whether it includes timing data, driver positions, or other details. The current description leaves too many contextual questions unanswered.

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

Parameters3/5

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

The description adds no parameter semantics beyond what's already documented in the schema, which has 100% coverage with clear descriptions for all three parameters. The baseline score of 3 reflects adequate parameter documentation entirely through the schema, with the description providing no additional value in this dimension.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('results for a specific Formula One session'), making it immediately understandable. However, it doesn't distinguish this tool from potential siblings like 'get_event_info' or 'get_telemetry' that might also provide session-related data, preventing a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_event_info' (which might include session results) and 'get_telemetry' (which could provide detailed session data), there's no indication of what makes this tool distinct or when it should be preferred over other options.

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

get_telemetryC

Get telemetry data for a specific Formula One lap

ParametersJSON Schema
NameRequiredDescriptionDefault
driver_identifierYesDriver identifier (number, code, or name; e.g., "44", "HAM", "Hamilton")
event_identifierYesEvent name or round number (e.g., "Monaco" or "7")
lap_numberNoLap number (optional, gets fastest lap if not provided)
session_nameYesSession name (e.g., "Race", "Qualifying", "Sprint", "FP1", "FP2", "FP3")
yearYesSeason year (e.g., 2023)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on behavioral traits such as rate limits, authentication needs, data format of the telemetry, or whether it's a read-only operation. For a tool with no annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, clear sentence that is front-loaded and wastes no words. It efficiently conveys the core purpose without unnecessary elaboration, making it easy to parse and understand quickly.

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

Completeness2/5

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

Given the complexity of telemetry data and the lack of annotations and output schema, the description is incomplete. It doesn't explain what telemetry data includes, the return format, or any behavioral aspects like error handling. For a tool with 5 parameters and no structured output information, more context is needed to be fully helpful.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond what's in the schema, such as explaining relationships between parameters or providing examples. Baseline 3 is appropriate as the schema does the heavy lifting, but the description doesn't compensate or enhance understanding.

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

Purpose4/5

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

The description clearly states the action ('Get telemetry data') and resource ('for a specific Formula One lap'), making the purpose immediately understandable. It distinguishes from siblings like 'get_driver_info' or 'get_session_results' by focusing on telemetry data rather than general information or results. However, it doesn't explicitly differentiate from potential telemetry-related siblings that might not exist.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'analyze_driver_performance' or 'compare_drivers' that might overlap in use cases, nor does it specify prerequisites or scenarios where this tool is preferred. Usage is implied through the description but not explicitly stated.

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

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: analyze_driver_performance focuses on performance analysis, compare_drivers on driver comparisons, get_driver_info on driver details, get_event_info on Grand Prix specifics, get_event_schedule on calendar data, get_session_results on session outcomes, and get_telemetry on lap telemetry. An agent can easily distinguish between these tools based on their specific functions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, such as analyze_driver_performance, get_driver_info, and get_event_schedule. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.

Tool Count5/5

With 7 tools, the server is well-scoped for its Formula One domain, covering key aspects like driver analysis, event details, schedules, results, and telemetry. Each tool earns its place by addressing a specific need without being overly sparse or bloated.

Completeness4/5

The tool set provides comprehensive coverage for querying and analyzing Formula One data, including drivers, events, schedules, results, and telemetry. A minor gap exists in update or creation operations (e.g., no tools for modifying data), but this is reasonable for a read-focused server, and agents can work effectively with the available tools.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time and historical Formula 1 racing data through the Model Context Protocol, offering access to timing data, driver stats, race results, telemetry, and more.
    15
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that provides comprehensive Formula One racing data, enabling access to event schedules, driver information, telemetry data, race results, and performance analytics through natural language queries.
    8
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables access to Formula 1 data from the openF1.org API, including driver information, race results, lap times, telemetry, pit stops, weather conditions, and live position data across multiple seasons.
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time access to football (soccer) data including fixtures, standings, teams, players, transfers, and injuries through the API-Football service via the Model Context Protocol.
    3

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rakeshgangwar/f1-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server