Formula One MCP Server
Hosted on GitHub for source code access, contributions, and version control
Leverages NumPy for numerical operations when processing Formula One racing data and statistics
Uses pandas for data manipulation and analysis of Formula One racing datasets, including results, telemetry, and performance metrics
Available as a package on PyPI for easy installation and distribution
Implemented in Python, making the Formula One data accessible through Python interfaces and API
Utilizes Ruff for code linting and formatting in the development workflow
Uses Shields.io for displaying package status badges in documentation
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Formula One MCP Servershow me the 2024 championship standings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Formula One MCP Server
A Model Context Protocol (MCP) server that provides Formula One racing data. This package exposes various tools for querying F1 data including event schedules, driver information, telemetry data, and race results.
Features
Event Schedule: Access the complete F1 race calendar for any season
Event Information: Detailed data about specific Grand Prix events
Session Results: Comprehensive results from races, qualifying sessions, sprints, and practice sessions
Driver Information: Access driver details for specific sessions
Performance Analysis: Analyze a driver's performance with lap time statistics
Driver Comparison: Compare multiple drivers' performances in the same session
Telemetry Data: Access detailed telemetry for specific laps
Championship Standings: View driver and constructor standings for any season
Related MCP server: Formula1 MCP Server
Installation
Installing via Smithery
To install f1-mcp-server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @Machine-To-Machine/f1-mcp-server --client claudeManual Installation
In a uv managed python project, add to dependencies by:
uv add f1-mcp-serverAlternatively, for projects using pip for dependencies:
pip install f1-mcp-serverTo run the server inside your project:
uv run f1-mcp-serverOr to run it globally in isolated environment:
uvx f1-mcp-serverTo install directly from the source:
git clone https://github.com/Machine-To-Machine/f1-mcp-server.git
cd f1-mcp-server
pip install -e .Usage
Command Line
The server can be run in two modes:
Standard I/O mode (default):
uvx run f1-mcp-serverSSE transport mode (for web applications):
uvx f1-mcp-server --transport sse --port 8000Python API
from f1_mcp_server import main
# Run the server with default settings
main()
# Or with SSE transport settings
main(port=9000, transport="sse")API Documentation
The server exposes the following tools via MCP:
Tool Name | Description |
| Get Formula One race calendar for a specific season |
| Get detailed information about a specific Formula One Grand Prix |
| Get results for a specific Formula One session |
| Get information about a specific Formula One driver |
| Analyze a driver's performance in a Formula One session |
| Compare performance between multiple Formula One drivers |
| Get telemetry data for a specific Formula One lap |
| Get Formula One championship standings |
See the FastF1 documentation for detailed information about the underlying data: FastF1 Documentation
Dependencies
anyio (>=4.9.0)
click (>=8.1.8)
fastf1 (>=3.5.3)
mcp (>=1.6.0)
numpy (>=2.2.4)
pandas (>=2.2.3)
uvicorn (>=0.34.0)
Development
Setup Development Environment
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]"Code Quality
# Run linting
uv run ruff check .
# Run formatting check
uv run ruff format --check .
# Run security checks
uv run bandit -r src/Contribution Guidelines
Fork the repository
Create a feature branch:
git checkout -b feature-nameCommit your changes:
git commit -am 'Add some feature'Push to the branch:
git push origin feature-nameSubmit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Authors
Machine To Machine
Acknowledgements
This project leverages FastF1, an excellent Python package for accessing Formula 1 data. We are grateful to its maintainers and contributors.
This project was inspired by rakeshgangwar/f1-mcp-server which was written in TypeScript. The f1_data.py module was mostly adapted from their source code.
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?
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.
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.
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.
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.
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.
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
| 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.
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
Scored across 8 tools
Every tool has a clearly distinct purpose with no overlap: analyze_driver_performance focuses on individual driver analysis, compare_drivers handles multi-driver comparisons, get_championship_standings retrieves standings, get_driver_info provides driver details, get_event_info covers Grand Prix specifics, get_event_schedule gives calendar data, get_session_results returns session outcomes, and get_telemetry accesses lap telemetry. The descriptions make each tool's unique scope immediately apparent.
All tools follow a consistent verb_noun pattern with perfect uniformity: analyze_driver_performance, compare_drivers, get_championship_standings, get_driver_info, get_event_info, get_event_schedule, get_session_results, and get_telemetry. The naming convention is predictable and readable throughout the entire set.
With 8 tools, the count is well-scoped for a Formula One data server, covering key areas like drivers, events, sessions, standings, and telemetry without being overwhelming. Each tool earns its place by addressing a distinct aspect of the domain, making the set comprehensive yet manageable.
The tool surface is nearly complete for accessing Formula One data, covering drivers, events, sessions, standings, and telemetry with clear CRUD-like retrieval operations. A minor gap exists in update or creation tools (e.g., for predictions or simulations), but this is reasonable for a data-focused server, and agents can work effectively with the provided read-only tools.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
A Model Context Protocol server exposing real-time and historical Colombo Stock Exchange (CSE) data to AI agents and LLM applications. Provides quotes and OHLCV price history, full financial statements (income, balance sheet, cash flow), pre-computed technicals (moving averages, RS ratings, volume signals), macroeconomic indicators, corporate actions, and rule-based screening across CSE stocks and sector indices, everything needed to build CSE-aware trading assistants, research tools, and market-analysis agents. This is the official MCP server of www.ceyloncharts.com
MCP server for structured Dutch vehicle data and license plate intelligence. Access RDW-based vehicle specifications, registration details, APK information, fuel and emissions data, weights, dimensions, ownership-related signals and other vehicle knowledge through KentekenKompas.nl. Built for AI assistants, agents and applications that need reliable, machine-readable information about vehicles registered in the Netherlands.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides Formula One data and statistics through a Model Context Protocol interface, allowing users to access race calendars, session results, driver statistics, telemetry data, and championship standings.811MIT
- 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
- 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
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides 118+ Formula 1 analytics tools, enabling race analysis, driver comparisons, telemetry exploration, and strategy simulation through natural language.MIT