Formula1-MCP 一级方程式数据工具
通过模型上下文协议提供实时和历史的一级方程式赛车数据,包括访问计时数据、车手统计、比赛结果、遥测数据等更多信息。
服务介绍
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
手动安装
- 克隆仓库:
git clone https://github.com/Panth1823/formula1-mcp
cd formula1-mcp
- 安装:
npm install
- 构建:
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文件。