mcpField
F
Formula One MCP Server

Formula One MCP Server

本地服务
github.com/Machine-To-Machine游戏娱乐280 周前更新

关于 Formula One MCP Server

Formula One MCP Server 提供 Formula One 赛程、赛事详情、分站成绩、车手数据、遥测数据和积分榜,适合需要查询赛事数据或分析、比较车手表现的 MCP 客户端。

主要功能

  1. 01查询赛季赛程和赛事详情
  2. 02查询正赛、排位赛、冲刺赛及练习赛成绩
  3. 03查询车手信息
  4. 04分析单圈用时表现
  5. 05比较车手并获取遥测数据
  6. 06查看锦标赛积分榜

适用场景

  1. 01查看某赛季的比赛日程
  2. 02查询特定场次的成绩
  3. 03分析或比较某场比赛中的车手
  4. 04检查某圈的遥测数据

MCP 相关

向 MCP 客户端提供 Formula One 数据查询和表现分析工具,包括赛程、成绩、车手、遥测及积分榜查询。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"f1-mcp-server-machine-to-machine": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Formula One MCP 服务

PyPI version Python Versions License: MIT smithery badge

一个提供 Formula One 赛车数据的模型上下文协议(MCP)服务。此软件包提供多种用于查询 F1 数据的工具,包括赛事日程、车手信息、遥测数据和比赛结果。

Formula One Server (Python) MCP server

功能

  • 赛事日程:查看任意赛季的完整 F1 比赛日历
  • 赛事信息:查看特定大奖赛的详细数据
  • 分站赛结果:查看比赛、排位赛、冲刺赛和练习赛的完整结果
  • 车手信息:查看特定分站赛的车手详情
  • 表现分析:通过单圈时间统计分析车手表现
  • 车手对比:比较同一分站赛中多位车手的表现
  • 遥测数据:查看特定单圈的详细遥测数据
  • 锦标赛排名:查看任意赛季车手和车队的排名

安装

通过 Smithery 安装

通过 Smithery 为 Claude Desktop 自动安装 f1-mcp-server:

npx -y @smithery/cli install @Machine-To-Machine/f1-mcp-server --client claude
手动安装

在由 uv 管理的 Python 项目中,通过以下方式添加依赖:

uv add f1-mcp-server

或者,对于使用 pip 管理依赖的项目:

pip install f1-mcp-server

在项目中运行服务:

uv run f1-mcp-server

或者在隔离环境中全局运行:

uvx f1-mcp-server

从源代码直接安装:

git clone https://github.com/Machine-To-Machine/f1-mcp-server.git
cd f1-mcp-server
pip install -e .

用法

命令行

服务可通过两种模式运行:

标准输入/输出模式(默认):

uvx run f1-mcp-server

SSE 传输模式(适用于 Web 应用):

uvx f1-mcp-server --transport sse --port 8000
Python 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 文档

该服务通过 MCP 提供以下工具:

工具名称说明
get_event_schedule获取指定赛季的 Formula One 比赛日历
get_event_info获取特定 Formula One 大奖赛的详细信息
get_session_results获取特定 Formula One 分站赛的结果
get_driver_info获取特定 Formula One 车手的信息
analyze_driver_performance分析车手在 Formula One 分站赛中的表现
compare_drivers比较多位 Formula One 车手的表现
get_telemetry获取特定 Formula One 单圈的遥测数据
get_championship_standings获取 Formula One 锦标赛排名

有关底层数据的详细信息,请参阅 FastF1 文档:FastF1 文档

依赖项

  • 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)

开发

设置开发环境
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]"
代码质量
# Run linting
uv run ruff check .

# Run formatting check
uv run ruff format --check .

# Run security checks
uv run bandit -r src/
贡献指南
  1. Fork 此代码库
  2. 创建功能分支:git checkout -b feature-name
  3. 提交更改:git commit -am 'Add some feature'
  4. 将分支推送到远程:git push origin feature-name
  5. 提交拉取请求

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

作者

  • Machine To Machine

致谢

本项目使用了 FastF1,这是一个出色的 Python 包,可用于访问 Formula 1 数据。我们感谢它的维护者和贡献者。

本项目的灵感来自使用 TypeScript 编写的 rakeshgangwar/f1-mcp-server。f1_data.py 模块大部分改编自其源代码。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。