F

Formula1-MCP 一级方程式数据工具

@Panth1823/formula1-mcp
0 Stars 18 次浏览 Panth1823 更新于 2026-08-23

通过模型上下文协议提供实时和历史的一级方程式赛车数据,包括访问计时数据、车手统计、比赛结果、遥测数据等更多信息。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

smithery badge

Formula1 MCP 服务器 ! 🏎️💨

这是一个基于 TypeScript 的 Formula 1 MCP 服务器,通过 Model Context Protocol 将实时和历史 F1 赛车数据直接带到您的指尖。比维斯塔潘在热圈时还要快!(好吧,可能没有那么快,但它正在努力!)

资源

  • 通过标准化 URI 访问 F1 赛事数据
  • 实时遥测数据
  • 历史比赛信息
  • 车手和车队排名
  • 天气数据
  • 赛道信息

开始使用

通过 Smithery 快速安装

要通过 Smithery 自动安装 Formula 1 MCP 服务器:

npx -y @smithery/cli install @Panth1823/formula1-mcp --client claude

手动安装

  1. 克隆仓库:
git clone https://github.com/Panth1823/formula1-mcp
cd formula1-mcp
  1. 安装:
npm install
  1. 构建:
npm run build

设置

将以下内容添加到您的 MCP 客户端配置中:

{
  "mcpServers": {
    "formula1": {
      "command": "node",
      "args": ["<path-to-your-cloned-repo>/build/index.js"],
      "cwd": "<path-to-your-cloned-repo>",
      "enabled": true
    }
  }
}

配置文件位置:

  • Windows: %APPDATA%\.cursor\mcp.json
  • MacOS: ~/.cursor/mcp.json
  • Linux: ~/.config/.cursor/mcp.json

可用工具

1. getLiveTimingData

获取当前会话的实时计时数据。

参数:

  • 无需参数

2. getCurrentSessionStatus

获取当前会话的状态信息。

参数:

  • 无需参数

3. getDriverInfo

获取特定车手的信息。

参数:

  • driverId (字符串):车手标识符(例如,“max_verstappen”,“lewis_hamilton”)

4. getHistoricalSessions

查找历史事件的会话键。

参数:

  • year (数字, 可选):赛季年份(例如,2023)
  • circuit_short_name (字符串, 可选):赛道名称(例如,“monza”,“spa”)
  • country_name (字符串, 可选):国家名称(例如,“Italy”,“Belgium”)
  • session_name (字符串, 可选):会话类型(例如,“Race”,“Qualifying”)

5. getHistoricRaceResults

获取特定历史比赛的比赛结果。

参数:

  • year (数字):赛季年份(例如,2023)
  • round (数字):比赛编号(例如,1, 2, 3)

6. getDriverStandings

获取车手锦标赛排名。

参数:

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

7. getConstructorStandings

获取车队锦标赛排名。

参数:

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

8. getLapTimes

获取特定车手的单圈时间。

参数:

  • year (数字):赛季年份(例如,2023)
  • round (数字):比赛编号(例如,1, 2, 3)
  • driverId (字符串):车手标识符(例如,“max_verstappen”,“lewis_hamilton”)

9. getWeatherData

获取会话的天气数据。

参数:

  • sessionKey (字符串, 可选):会话标识符

10. getCarData

获取详细的赛车遥测数据。

参数:

  • driverNumber (字符串):车手的赛车号码(例如,“44”,“33”)
  • sessionKey (字符串, 可选):会话标识符
  • filters (字符串, 可选):数据过滤器

11. getPitStopData

获取进站信息。

参数:

  • driverNumber (string, optional): 车手的赛车编号
  • sessionKey (string, optional): 会话标识符

12. getTeamRadio

获取车队无线电通讯。

参数:

  • driverNumber (string, optional): 车手的赛车编号
  • sessionKey (string, optional): 会话标识符

13. getRaceControlMessages

获取赛事控制信息。

参数:

  • sessionKey (string, optional): 会话标识符

14. getRaceCalendar

获取F1赛历。

参数:

  • year (number): 赛季年份(例如:2023)

15. getCircuitInfo

获取详细的赛道信息。

参数:

  • circuitId (string): 赛道标识符(例如:"monza", "spa")

16. getSeasonList

获取可用的F1赛季列表。

参数:

  • limit (number, optional): 返回的赛季数量

17. getQualifyingResults

获取排位赛结果。

参数:

  • year (number): 赛季年份(例如:2023)
  • round (number): 比赛轮次(例如:1, 2, 3)

18. getDriverInformation

从Ergast API获取详细车手信息。

参数:

  • driverId (string): 车手标识符(例如:"max_verstappen", "lewis_hamilton")

19. getConstructorInformation

从Ergast API获取详细的车队信息。

参数:

  • constructorId (string): 车队标识符(例如:"red_bull", "mercedes")

20. clearCache

清除本地F1数据缓存。

参数:

  • 不需要参数

数据来源

  • 实时数据:F1 Live Timing API (OpenF1)
  • 历史数据:Ergast API (FastF1)

示例

  • "显示2023年摩纳哥大奖赛结果"
  • "获取当前积分榜"
  • "银石赛道天气"
  • "汉密尔顿的圈速"
  • "显示2024年赛历"
  • "维斯塔潘的信息"
  • "日本大奖赛排位赛"

调试

使用MCP Inspector进行调试。

帮助

  • 发现Bug?在此报告
  • 有问题?打开一个issue
  • 想要帮忙?提交一个PR

许可证

本项目根据MIT许可证发布 - 详情请参阅LICENSE文件。