F1数据服务

一个提供F1赛车数据的模型上下文协议(MCP)服务器,包括赛事日程、车手信息、遥测数据和比赛结果等。

  • by Machine-To-Machine
  • Python
  • 混合部署
  • 2 星标
  • 更新于
在 GitHub 查看 Machine-To-Machine/f1-mcp-server

使用说明

一级方程式赛车MCP服务器

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

特性

  • 活动日程:访问任何赛季的完整F1比赛日历
  • 事件信息:关于特定大奖赛赛事的详细数据
  • 会话结果:比赛、资格赛、短跑和练习赛的综合成绩
  • 驾驶员信息:访问特定会话的驱动程序详细信息
  • 性能分析:使用单圈时间统计数据分析驾驶员的表现
  • 驾驶员比较:比较多个驾驶员在同一节课中的表现
  • 遥测数据:访问特定圈数的详细遥测数据
  • 冠军榜:查看任何赛季的车手和制造商排名

安装

通过Smithery安装

通过以下方式自动安装Claude Desktop的f1 mcp服务器 史密瑟里:

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 .

用法

命令行

服务器可以在两种模式下运行:

标准I/O模式 (默认):

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 获取特定赛季的F1比赛日历
get_event_info 获取特定一级方程式大奖赛的详细信息
get_session_results 获取特定一级方程式比赛的结果
get_driver_info 获取特定一级方程式赛车手的信息
analyze_driver_performance 分析车手在一级方程式比赛中的表现
compare_drivers 比较多名一级方程式赛车手的表现
get_telemetry 获取特定F1圈的遥测数据
get_championship_standings 获得一级方程式锦标赛积分榜

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

依赖项

  • anyio(>=4.9.0)
  • 点击(>=8.1.8)
  • fastf1(>=3.5.3)
  • mcp(>=1.6.0)
  • numpy(>=2.2.4)
  • 熊猫(>=2.2.3)
  • 玉米(>=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. 分叉存储库
  2. 创建要素分支: git checkout -b feature-name
  3. 提交您的更改: git commit -am 'Add some feature'
  4. 推到分支: git push origin feature-name
  5. 提交拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

作者

  • 机器对机器

致谢

该项目利用 FastF1,一个用于访问F1数据的优秀Python包。我们感谢它的维护者和贡献者。

这个项目的灵感来自 rakeshgangwar/f1 mcp服务器 它是用TypeScript编写的。这 f1_data.py 该模块主要改编自他们的源代码。