使用说明
fastf1 mcp
本地MCP服务器,允许克劳德(或任何兼容MCP的AI客户端)访问一级方程式比赛数据。从2018年开始加载任何会话,用自然语言提问,并获得真实遥测、计时和策略数据支持的答案。
没有托管API。没有数据凭据。所有内容都在您的机器上本地运行。
安装
pip install fastf1-mcp
与Claude Desktop一起使用
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"f1": {
"command": "fastf1-mcp"
}
}
}
重新启动克劳德桌面。然后问:
与Claude Code一起使用
claude mcp add f1 fastf1-mcp
然后在任何Claude Code会话中,问:
“加载2024年摩纳哥资格赛,告诉我谁获得了杆位”
“比较Verstappen和Leclerc在银石赛道的比赛速度”
“汉密尔顿在蒙扎的进站策略是什么?”
它的作用
MCP服务器公开了17个工具,Claude可以调用这些工具来获取特定的F1数据:
| 工具 | 它的答案 |
|---|---|
load_session |
加载比赛、资格赛或练习赛 |
season_calendar |
“2024年有哪些比赛?” |
race_result |
“谁赢了?”“领奖台是什么?” |
qualifying_result |
“谁拿到杆位了?”,“Q3次?” |
lap_times |
“勒克莱尔的表现有多稳定?” |
fastest_laps |
“谁跑得最快?” |
pit_stops |
“大家什么时候打的?” |
tire_stints |
“他们用了什么化合物?” |
driver_telemetry |
“Verstappen的最高速度是多少?” |
head_to_head |
“比较诺里斯与皮亚斯特里” |
weather |
“是湿的吗?” |
session_summary |
“给我一个关于比赛的概述” |
track_evolution |
“赛道变快了吗?” |
overtake_analysis |
“谁获得的职位最多?” |
identify_driver |
“44号车是谁?” |
list_drivers |
“谁参加了这次会议?” |
session_status |
“加载了哪个会话?” |
模糊输入归一化
你不需要知道确切的驾驶员代码或种族名称。服务器解析自然语言:
| 你说 | 决心 |
|---|---|
| “勒克莱尔”、“查尔斯”、“LEC”、“16”。查尔斯·勒克莱尔。 | |
| “checo”、“Perez”、“11” | 塞尔吉奥·佩雷斯(PER) |
| “spa” | 比利时大奖赛 |
| “蒙扎” | 意大利大奖赛 |
| “银石” | 英国大奖赛 |
| “资格赛”、“quali”、“Q” | 资格赛环节 |
运作原理
You ask Claude: "Who won the 2024 Bahrain race?"
│
▼
Claude picks tool: load_session(year=2024, race="Bahrain", session="race")
│
▼
fastf1-mcp loads data via FastF1 (cached locally after first download)
│
▼
Claude picks tool: race_result()
│
▼
fastf1-mcp returns structured JSON with the classification
│
▼
Claude answers: "Verstappen won from Perez and Sainz..."
- 第一负载 从F1服务器下载会话的时间(约10-30秒)
- 每次装载后 是即时的(缓存在
~/.cache/f1_mcp/) - 没有API密钥 F1数据所需——这是通过FastF1的公共计时数据
- Claude只看到小的JSON工具结果,而不是原始遥测数据转储
数据覆盖
- 季节: 2018年以后(FastF1限制)
- 会议: 比赛、资格赛、冲刺、练习(FP1/FP2/FP3)
- 数据: 结果、圈速、进站、轮胎时间、遥测(速度/油门/刹车)、天气、赛道信息
测试
pip install fastf1-mcp[test]
# Unit tests (no network, instant)
pytest tests/ -m "not integration" -v
# Full suite (downloads F1 data on first run, cached after)
pytest tests/ -v
133个测试,涵盖规范化、会话管理、工具执行和MCP协议(stdio JSON-RPC握手、工具列表、工具调用)。
用作Python库
您也可以在没有MCP的情况下直接导入包:
from f1_mcp.session import SessionManager
mgr = SessionManager()
mgr.load(2024, "Monaco", "qualifying")
print(mgr.qualifying_result())
print(mgr.lap_times("Leclerc"))
print(mgr.head_to_head("Verstappen", "Norris"))
许可证
麻省理工学院