返回市场
f1-MCP服务器

f1-MCP服务器

作者:rakeshgangwar5 星标更新:2025-03-22

项目介绍

Formula One MCP 服务器

此模型上下文协议(MCP)服务器通过 FastF1 Python 库提供了访问一级方程式数据和统计信息的功能。它允许您通过干净的 MCP 接口访问比赛日历、赛事信息、会话结果、车手数据、圈速、遥测数据以及锦标赛排名。

功能

  • 获取特定赛季的一级方程式比赛日历
  • 检索关于大奖赛事件的详细信息
  • 获取会话结果(比赛、排位赛、练习赛)
  • 访问车手信息和统计数据
  • 使用圈速和遥测数据分析车手表现
  • 比较多位车手的表现
  • 获取车手和车队的锦标赛排名

预备条件

  • Node.js 18 或更高版本
  • Python 3.8 或更高版本
  • FastF1 库

安装

1. 安装 Python 依赖项

pip install fastf1 pandas numpy

2. 安装 Node.js 依赖项

cd f1-mcp-server
npm install

3. 构建 TypeScript 代码

npm run build

4. 添加到 MCP 设置

在您的 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": []
    }
  }
}

可用工具

1. get_event_schedule

获取特定赛季的一级方程式比赛日历。

参数:

  • year (数字类型):赛季年份(例如,22)

2. get_event_info

获取关于特定一级方程式大奖赛的详细信息。

参数:

  • year (数字类型):赛季年份(例如,22)
  • identifier (字符串类型):事件名称或轮次编号(例如,“Monaco”或“7”)

3. get_session_results

获取特定一级方程式会话的结果。

参数:

  • year (数字类型):赛季年份(例如,22)
  • event_identifier (字符串类型):事件名称或轮次编号(例如,“Monaco”或“7”)
  • session_name (字符串类型):会话名称(例如,“Race”,“Qualifying”,“Sprint”,“FP1”,“FP2”,“FP3”)

4. get_driver_info

获取关于特定一级方程式车手的信息。

参数:

  • year (数字类型):赛季年份(例如,22)
  • event_identifier (字符串类型):事件名称或轮次编号(例如,“Monaco”或“7”)
  • session_name (字符串类型):会话名称(例如,“Race”,“Qualifying”,“Sprint”,“FP1”,“FP2”,“FP3”)
  • driver_identifier (字符串类型):车手标识符(编号、代码或姓名;例如,“44”,“HAM”,“Hamilton”)

5. analyze_driver_performance

分析一级方程式会话中车手的表现。

参数:

  • year (数字类型):赛季年份(例如,22)
  • event_identifier (字符串类型):事件名称或轮次编号(例如,“Monaco”或“7”)
  • session_name (字符串类型):会话名称(例如,“Race”,“Qualifying”,“Sprint”,“FP1”,“FP2”,“FP3”)
  • driver_identifier (字符串类型):车手标识符(编号、代码或姓名;例如,“44”,“HAM”,“Hamilton”)

6. compare_drivers

比较多位一级方程式车手的表现。

参数:

  • year (数字类型):赛季年份(例如,22)
  • event_identifier (字符串类型):事件名称或轮次编号(例如,“Monaco”或“7”)
  • session_name (字符串类型):会话名称(例如,“Race”,“Qualifying”,“Sprint”,“FP1”,“FP2”,“FP3”)
  • drivers (字符串类型):逗号分隔的车手代码列表(例如,“HAM,VER,LEC”)

7. get_telemetry

获取特定一级方程式圈的遥测数据。

参数:

  • year (数字类型):赛季年份(例如,22)
  • event_identifier (字符串类型):事件名称或轮次编号(例如,“Monaco”或“7”)
  • session_name (字符串类型):会话名称(例如,“Race”,“Qualifying”,“Sprint”,“FP1”,“FP2”,“FP3”)
  • driver_identifier (字符串类型):车手标识符(编号、代码或姓名;例如,“44”,“HAM”,“Hamilton”)
  • lap_number (数字类型,可选):圈数(如果没有提供,则获取最快圈)

8. get_championship_standings

获取一级方程式锦标赛排名。

参数:

  • year (数字类型):赛季年份(例如,22)
  • round_num (数字类型,可选):轮次编号(如果没有提供,则获取最新排名)

示例用法

一旦服务器被添加到您的 MCP 设置并运行,您可以使用这些工具与 Cline 来访问一级方程式数据。

示例查询:

  • “显示2023一级方程式比赛日历”
  • “获取2022摩纳哥大奖赛的结果”
  • “比较汉密尔顿和维斯塔潘在2021英国大奖赛中的表现”
  • “显示勒克莱尔在2023意大利大奖赛排位赛中最快速度的遥测数据”
  • “当前F1锦标赛排名是什么?”

数据来源

该服务器使用 FastF1 Python 库,该库提供了对官方一级方程式计时数据、汽车遥测数据和会话结果的访问。

许可证

MIT