Formula One MCP Server (Python)
Servidor MCP de Fórmula Uno
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona datos de carreras de Fórmula Uno. Este paquete expone diversas herramientas para consultar datos de F1, incluidos calendarios de eventos, información de los pilotos, datos de telemetría y resultados de carreras.
Características
Calendario de eventos : acceda al calendario completo de carreras de F1 para cualquier temporada
Información del evento : datos detallados sobre eventos específicos del Gran Premio
Resultados de la sesión : Resultados completos de carreras, sesiones de clasificación, sprints y sesiones de práctica.
Información del conductor : acceda a los detalles del conductor para sesiones específicas
Análisis de rendimiento : analice el rendimiento de un conductor con estadísticas de tiempos de vuelta
Comparación de pilotos : compare el rendimiento de varios pilotos en la misma sesión
Datos de telemetría : acceda a telemetría detallada para vueltas específicas
Clasificación del campeonato : vea la clasificación de pilotos y constructores de cualquier temporada
Related MCP server: Formula One MCP Server
Instalación
Instalación mediante herrería
Para instalar f1-mcp-server para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install @Machine-To-Machine/f1-mcp-server --client claudeInstalación manual
En un proyecto de Python administrado uv , agregue dependencias mediante:
uv add f1-mcp-serverAlternativamente, para proyectos que utilizan pip para dependencias:
pip install f1-mcp-serverPara ejecutar el servidor dentro de su proyecto:
uv run f1-mcp-serverO ejecutarlo globalmente en un entorno aislado:
uvx f1-mcp-serverPara instalar directamente desde la fuente:
git clone https://github.com/Machine-To-Machine/f1-mcp-server.git
cd f1-mcp-server
pip install -e .Uso
Línea de comandos
El servidor se puede ejecutar en dos modos:
Modo de E/S estándar (predeterminado):
uvx run f1-mcp-serverModo de transporte SSE (para aplicaciones web):
uvx f1-mcp-server --transport sse --port 8000API de Python
from f1_mcp_server import main
# Run the server with default settings
main()
# Or with SSE transport settings
main(port=9000, transport="sse")Documentación de la API
El servidor expone las siguientes herramientas a través de MCP:
Nombre de la herramienta | Descripción |
| Obtenga el calendario de carreras de Fórmula Uno para una temporada específica |
| Obtenga información detallada sobre un Gran Premio de Fórmula 1 específico |
| Obtenga resultados para una sesión específica de Fórmula Uno |
| Obtenga información sobre un piloto de Fórmula 1 específico |
| Analizar el rendimiento de un piloto en una sesión de Fórmula Uno |
| Comparar el rendimiento entre varios pilotos de Fórmula Uno |
| Obtener datos de telemetría para una vuelta específica de Fórmula Uno |
| Obtenga la clasificación del campeonato de Fórmula Uno |
Consulte la documentación de FastF1 para obtener información detallada sobre los datos subyacentes: Documentación de FastF1
Dependencias
anyio (>=4.9.0)
haga clic (>=8.1.8)
fastf1 (>=3.5.3)
mcp (>=1.6.0)
numpy (>=2.2.4)
pandas (>=2.2.3)
uvicornio (>=0.34.0)
Desarrollo
Configurar el entorno de desarrollo
git clone https://github.com/Machine-To-Machine/f1-mcp-server.git
cd f1-mcp-server
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"Calidad del código
# Run linting
uv run ruff check .
# Run formatting check
uv run ruff format --check .
# Run security checks
uv run bandit -r src/Pautas de contribución
Bifurcar el repositorio
Crear una rama de características:
git checkout -b feature-nameConfirme sus cambios:
git commit -am 'Add some feature'Empujar a la rama:
git push origin feature-nameEnviar una solicitud de extracción
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Autores
De máquina a máquina
Expresiones de gratitud
Este proyecto aprovecha FastF1 , un excelente paquete de Python para acceder a datos de Fórmula 1. Agradecemos a sus mantenedores y colaboradores.
Este proyecto se inspiró en rakeshgangwar/f1-mcp-server , escrito en TypeScript. El módulo f1_data.py se adaptó principalmente de su código fuente.
Available Tools
8 toolsanalyze_driver_performanceC
Analyze a driver's performance in a Formula One session
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Season year (e.g., 2023) | |
| event_identifier | Yes | Event name or round number (e.g., 'Monaco' or '7') | |
| session_name | Yes | Session name (e.g., 'Race', 'Qualifying', 'Sprint', 'FP1', 'FP2', 'FP3') | |
| driver_identifier | Yes | Driver identifier (number, code, or name; e.g., '44', 'HAM', 'Hamilton') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description fails to disclose behavioral traits such as whether the tool is read-only, requires authentication, or has side effects. It is extremely vague.
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, no waste. However, it sacrifices necessary detail for brevity, scoring slightly above average.
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?
No output schema, no annotations, and no explanation of what the analysis produces. The description is incomplete for a 4-parameter 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?
Input schema has 100% description coverage, so the baseline is 3. The description does not add additional 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 clearly states the verb 'analyze', the resource 'driver's performance', and the context 'Formula One session'. It effectively distinguishes from sibling tools like compare_drivers and get_driver_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It lacks explicit context cues or when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_driversB
Compare performance between multiple Formula One drivers
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Season year (e.g., 2023) | |
| event_identifier | Yes | Event name or round number (e.g., 'Monaco' or '7') | |
| session_name | Yes | Session name (e.g., 'Race', 'Qualifying', 'Sprint', 'FP1', 'FP2', 'FP3') | |
| drivers | Yes | Comma-separated list of driver codes (e.g., 'HAM,VER,LEC') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like side effects, rate limits, or return format, but it only states the purpose. It does not indicate that the tool is read-only or what performance metrics are compared.
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 concise sentence with no wasted words, achieving efficient communication of the tool's 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?
The description is minimal given the tool's complexity (4 required parameters, no output schema, multiple siblings). It does not explain what 'performance' entails, how comparison is presented, or any constraints like driver codes.
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 each parameter already has a description. The tool description adds no additional meaning to the parameters; 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 clearly states 'Compare performance between multiple Formula One drivers' with a specific verb and resource, and it distinguishes from siblings like 'get_driver_info' or 'analyze_driver_performance' by focusing on comparison across multiple drivers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives such as 'analyze_driver_performance' or 'get_session_results'. The description does not mention context or exclusions.
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
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Season year (e.g., 2023) | |
| round_num | No | Round number (optional, gets latest standings if not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It only states the basic action without mentioning what data is returned, how errors are handled, or any side effects. This is insufficient for a tool that likely returns complex standings data.
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 concise sentence that front-loads the purpose. No unnecessary words or 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 absence of an output schema, the description should explain what the response contains (e.g., drivers' or constructors' standings). It fails to do so, leaving the agent without essential context about the tool's return value.
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 input schema itself documents both parameters well. The description adds no additional meaning beyond what the schema provides, earning the baseline score of 3. It does not clarify the output structure or any parameter dependencies.
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 the resource 'Formula One championship standings'. It is specific enough to distinguish from sibling tools like get_session_results or get_driver_info, though it does not specify if standings are for drivers or constructors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical use cases, or scenarios where another tool would 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
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Season year (e.g., 2023) | |
| event_identifier | Yes | Event name or round number (e.g., 'Monaco' or '7') | |
| session_name | Yes | Session name (e.g., 'Race', 'Qualifying', 'Sprint', 'FP1', 'FP2', 'FP3') | |
| driver_identifier | Yes | Driver identifier (number, code, or name; e.g., '44', 'HAM', 'Hamilton') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the basic purpose, offering no details about side effects (none expected), authentication needs, rate limits, or data freshness. The agent is left guessing about operational characteristics.
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 is concise and front-loaded with the key action and resource. No unnecessary words or 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?
Despite 4 required parameters and no output schema, the description fails to explain what information is returned, any constraints (e.g., driver must be participating in the session), or possible error conditions. It is insufficiently complete for a data retrieval 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?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no extra semantic information beyond what the schema already provides; it just paraphrases the tool's purpose.
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') and resource ('information about a specific Formula One driver'), distinguishing it from sibling tools like 'get_telemetry' or 'get_session_results'. However, it could more precisely indicate that it returns session-level information, as implied by the required parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'analyze_driver_performance' or 'compare_drivers'. There is no mention of prerequisites, exclusions, or use cases, leaving the agent to infer from 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_infoB
Get detailed information about a specific Formula One Grand Prix
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Season year (e.g., 2023) | |
| identifier | Yes | Event name or round number (e.g., 'Monaco' or '7') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'get detailed information' without mentioning data freshness, permissions, or what 'detailed' means. The lack of any behavioral context leaves the agent guessing.
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 concise sentence that immediately conveys the tool's purpose. It is front-loaded and contains 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?
The tool lacks an output schema and the description does not specify what 'detailed information' includes. Given the complexity of F1 data, the description is incomplete—it fails to set expectations for the response content, leaving the agent in the dark.
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 descriptions for both parameters (year and identifier). The description adds no extra meaning beyond the schema's parameter descriptions. With high coverage, 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's function: retrieving detailed information about a specific Formula One Grand Prix. The verb 'Get' and resource 'detailed information' are explicit, and it distinguishes from siblings like get_event_schedule (schedule) and get_session_results (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 provides no explicit guidance on when to use this tool versus alternatives like get_event_schedule or get_driver_info. The purpose is implied but no exclusions or comparative context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_event_scheduleA
Get Formula One race calendar for a specific season
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Season year (e.g., 2023) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It states a simple read operation but does not mention any specifics such as data freshness, caching, rate limits, or whether the calendar includes future races only.
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 with no unnecessary words. It efficiently conveys the tool's 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?
For a simple one-parameter tool with no output schema, the description is largely adequate. However, it could hint at the return format (e.g., 'list of events with dates') to help the agent set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no additional meaning beyond the schema's description of the 'year' parameter. The description reiterates 'specific season' but does not provide format or constraints beyond what the schema already offers.
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', the resource 'Formula One race calendar', and the scope 'for a specific season'. It distinguishes from siblings like get_event_info (specific event) and get_championship_standings (standings) by focusing on the full schedule.
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 that this tool is for retrieving an entire season's calendar, but it does not explicitly state when to use this over alternatives like get_event_info or get_session_results. No exclusions or prerequisites are mentioned.
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
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Season year (e.g., 2023) | |
| event_identifier | Yes | Event name or round number (e.g., 'Monaco' or '7') | |
| session_name | Yes | Session name (e.g., 'Race', 'Qualifying', 'Sprint', 'FP1', 'FP2', 'FP3') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must convey behavioral traits, but it only states the basic function. It does not disclose read-only nature, authentication needs, or any side effects. The agent learns nothing beyond what the name implies.
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 concise sentence that front-loads the purpose. However, it is slightly too brief and could benefit from a bit more context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three required parameters and no output schema, the description is minimally adequate but lacks details on the returned data format or any edge cases. It does not explain what 'results' entail, leaving ambiguity.
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 baseline is 3. The description adds no additional meaning beyond the parameter names and descriptions already in the schema. It does not provide defaults, examples, or constraints beyond what is listed.
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 results') and the specific resource ('a specific Formula One session'). It is distinct from sibling tools like get_driver_info or get_championship_standings, which cover different aspects. However, it could be more explicit about what 'results' includes (e.g., finishing positions, times).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as analyze_driver_performance or get_event_info. There is no mention of prerequisites, limitations, or comparison with siblings.
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
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Season year (e.g., 2023) | |
| event_identifier | Yes | Event name or round number (e.g., 'Monaco' or '7') | |
| session_name | Yes | Session name (e.g., 'Race', 'Qualifying', 'Sprint', 'FP1', 'FP2', 'FP3') | |
| driver_identifier | Yes | Driver identifier (number, code, or name; e.g., '44', 'HAM', 'Hamilton') | |
| lap_number | No | Lap number (optional, gets fastest lap if not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. However, it only states the action and resource, omitting information about permissions, rate limits, data format, or potential errors. The agent lacks context about what 'telemetry data' entails or any side effects.
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, concise sentence that directly conveys the tool's purpose without any extraneous words. It is well-structured and 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 absence of an output schema and the moderate complexity (5 parameters), the description fails to explain what telemetry data is returned (e.g., speed, throttle, braking), nor does it cover return format or units. This is insufficient for an agent to correctly interpret the tool's response.
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%, providing descriptions for each parameter. The tool description adds little beyond 'specific lap', which is already implied by the 'lap_number' parameter description. Baseline score of 3 is appropriate as the description does not enhance parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'telemetry data for a specific Formula One lap'. It is specific enough to differentiate from sibling tools like 'get_driver_info' or 'get_session_results', though it does not explicitly compare to them.
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 guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or exclusions. For example, it doesn't clarify that this tool is for detailed telemetry versus aggregated performance data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
8 tool updates
- First observed
analyze_driver_performance - First observed
compare_drivers - First observed
get_championship_standings - First observed
get_driver_info - First observed
get_event_info - First observed
get_event_schedule - First observed
get_session_results - First observed
get_telemetry
TDQS
All 8 tools target distinct aspects of Formula One data—drivers, events, sessions, championships, and telemetry—with no overlapping functionality. Each has a clear, non-redundant purpose.
Every tool uses a consistent verb_noun pattern with lowercase and underscores (e.g., get_driver_info, analyze_driver_performance). The naming is predictable and adheres to a single convention.
With 8 tools, the server is well-scoped for its domain. It covers essential F1 operations without being too sparse or overly granular, making it ideal for most common queries without excessive complexity.
The tool set covers major areas: driver info, performance analysis, comparisons, standings, event details, schedule, session results, and telemetry. One minor gap is lack of team/constructor info, but the surface is otherwise comprehensive for a dedicated F1 server.
Maintenance
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
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Primarily to be used as a template repository for developing MCP servers with FastMCP in Python, P…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
A simple MCP server built with FastMCP and python
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides 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.15MIT
- AlicenseAqualityDmaintenanceA 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.81MIT
- AlicenseAqualityCmaintenanceMCP server for Formula 1 data via the FastF1 library. Ask Claude (or any MCP-compatible client) about race results, lap times, telemetry, standings, pit stops, and qualifying — with historical data back to 1950 via the Ergast API.21MIT
- AlicenseAqualityCmaintenanceA local MCP server that gives Claude (or any MCP-compatible AI client) access to Formula 1 race data. Load any session from 2018 onwards, ask questions in natural language, and get answers backed by real telemetry, timing, and strategy data.171MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Machine-To-Machine/f1-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server