F1数据服务

通过MCP接口提供F1赛事数据访问服务,包括赛程、赛事信息、车手数据、圈速分析和锦标赛排名等功能。

  • by rakeshgangwar
  • JavaScript
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 rakeshgangwar/f1-mcp-server

使用说明

一级方程式赛车MCP服务器

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

特性

  • 获取特定季节的F1比赛日历
  • 检索大奖赛活动的详细信息
  • 获取比赛结果(比赛、资格赛、练习赛)
  • 访问驾驶员信息和统计数据
  • 利用单圈时间和遥测数据分析驾驶员表现
  • 比较多个驾驶员的表现
  • 为车手和车队获得冠军排名

先决条件

  • 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

获取特定赛季的F1比赛日历。

参数:

  • year (数字):季节年份(例如2023年)

2. get_event_info

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

参数:

  • year (数字):季节年份(例如2023年)
  • identifier (string):事件名称或轮号(例如“Monaco”或“7”)

3. get_session_results

获取特定一级方程式比赛的结果。

参数:

  • year (数字):季节年份(例如2023年)
  • event_identifier (string):事件名称或轮号(例如“Monaco”或“7”)
  • session_name (string):会话名称(例如,“比赛”、“资格赛”、“冲刺”、“FP1”、“FPC2”、“FPGA 3”)

4. get_driver_info

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

参数:

  • year (数字):季节年份(例如2023年)
  • event_identifier (string):事件名称或轮号(例如“Monaco”或“7”)
  • session_name (string):会话名称(例如,“比赛”、“资格赛”、“冲刺”、“FP1”、“FPC2”、“FPGA 3”)
  • driver_identifier (字符串):驾驶员标识符(编号、代码或姓名;例如,“44”、“HAM”、“Hamilton”)

5. analyze_driver_performance

分析车手在一级方程式比赛中的表现。

参数:

  • year (数字):季节年份(例如2023年)
  • event_identifier (string):事件名称或轮号(例如“Monaco”或“7”)
  • session_name (string):会话名称(例如,“比赛”、“资格赛”、“冲刺”、“FP1”、“FPC2”、“FPGA 3”)
  • driver_identifier (字符串):驾驶员标识符(编号、代码或姓名;例如,“44”、“HAM”、“Hamilton”)

6. compare_drivers

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

参数:

  • year (数字):季节年份(例如2023年)
  • event_identifier (string):事件名称或轮号(例如“Monaco”或“7”)
  • session_name (string):会话名称(例如,“比赛”、“资格赛”、“冲刺”、“FP1”、“FPC2”、“FPGA 3”)
  • drivers (string):逗号分隔的驱动程序代码列表(例如,“HAM、VER、LEC”)

7. get_telemetry

获取特定F1圈的遥测数据。

参数:

  • year (数字):季节年份(例如2023年)
  • event_identifier (string):事件名称或轮号(例如“Monaco”或“7”)
  • session_name (string):会话名称(例如,“比赛”、“资格赛”、“冲刺”、“FP1”、“FPC2”、“FPGA 3”)
  • driver_identifier (字符串):驾驶员标识符(编号、代码或姓名;例如,“44”、“HAM”、“Hamilton”)
  • lap_number (数字,可选):圈数(如果没有提供,则获得最快圈数)

8. get_championship_standings

获得一级方程式锦标赛积分榜。

参数:

  • year (数字):季节年份(例如2023年)
  • round_num (数字,可选):轮数(如果没有提供,则获得最新排名)

示例用法

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

示例查询:

  • “给我看看2023年一级方程式赛车日历”
  • “获取2022年摩纳哥大奖赛的结果”
  • “比较汉密尔顿和Verstappen在2021年英国大奖赛上的表现”
  • “向我展示勒克莱尔在2023年意大利大奖赛资格赛中最快圈速的遥测数据”
  • “目前F1锦标赛的排名是多少?”

数据源

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

许可证

麻省理工学院