article
README
🚀 F1 MCP 服务器
这是一个模型上下文协议(MCP)服务器,借助 FastF1 Python 包提供一级方程式(F1)赛事数据。
✨ 主要特性
- 获取任意 F1 赛季的比赛日程
- 获取赛事各阶段(练习赛、排位赛、正赛)的结果
- 获取单圈成绩和遥测数据
- 获取车手和车队的积分榜信息
- 获取赛道信息
🚀 快速开始
前提条件
- Python 3.13
- uv 包管理器
1. 安装 uv(若尚未安装)
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
2. 配置 F1 MCP 服务器
# 快速配置
./quick-start.sh
# 或手动配置
make install
# 或者:uv sync && uv pip install -e .
3. 启动服务器
# MCP 模式(用于 MCP Inspector)
make mcp
# HTTP 模式(用于 OAuth 测试)
make http
# 结合 MCP Inspector 使用
make inspector
📚 MCP Inspector 配置
MCP Inspector 是用于测试和调试 MCP 服务器的强大工具。以下是配置步骤:
1. 安装 Node.js(若尚未安装)
# 使用 Homebrew 在 macOS 上安装
brew install node
# 或者从 https://nodejs.org/ 下载安装
2. 安装 MCP Inspector
# 使用 npm 全局安装
npm install -g @modelcontextprotocol/inspector
# 验证安装
mcp-inspector --version
3. 结合 Inspector 启动 F1 MCP 服务器
# 使用 make 命令(推荐)
make inspector
# 或者手动启动
mcp-inspector uv run python -m f1_mcp_server.server
4. 使用 MCP Inspector
启动后,Inspector 会:
- 启动一个 Web 界面(通常在
http://localhost:5173) - 自动连接到你的 F1 MCP 服务器
- 提供一个交互式 UI 来测试所有可用工具
Inspector 中可用的 F1 工具:
get_race_schedule- 浏览 F1 比赛日历get_session_results- 查看比赛/排位赛结果get_driver_standings- 查看车手积分榜get_constructor_standings- 查看车队积分榜get_lap_times- 进行详细的单圈计时分析
5. Inspector 中的使用示例
在 MCP Inspector 中尝试以下示例请求:
获取 2024 年比赛日程:
{
"year": 2024
}
获取摩纳哥大奖赛比赛结果:
{
"year": 2024,
"round_number": 8,
"session": "R"
}
获取维斯塔潘的单圈成绩:
{
"year": 2024,
"round_number": 1,
"session": "R",
"driver": "VER"
}
解决 MCP Inspector 问题
Inspector 无法启动:
# 检查 Node.js 版本(需要 16 及以上)
node --version
# 重新安装 Inspector
npm uninstall -g @modelcontextprotocol/inspector
npm install -g @modelcontextprotocol/inspector
服务器连接问题:
# 先直接测试服务器
make test-startup
# 检查服务器在不使用 Inspector 的情况下是否能启动
make mcp
端口冲突:
# Inspector 默认使用 5173 端口
# 终止占用该端口的所有进程
lsof -ti:5173 | xargs kill -9
📚 结合 MCP Inspector 使用
MCP Inspector 提供了一个基于 Web 的界面,用于测试 F1 数据工具:
# 安装 MCP Inspector(需要 Node.js)
npm install -g @modelcontextprotocol/inspector
# 结合 Inspector 启动 F1 服务器
make inspector
# 或者手动启动
mcp-inspector uv run python -m f1_mcp_server.server
Inspector 特性:
- 在
http://localhost:5173提供交互式 Web UI - 实时测试 F1 数据
- JSON 模式验证
- 工具文档浏览
📚 可用工具
get_race_schedule:获取特定赛季的比赛日程get_session_results:获取特定赛事阶段的结果get_driver_standings:获取车手积分榜信息get_constructor_standings:获取车队积分榜信息get_lap_times:获取特定赛事阶段的单圈成绩
微信扫一扫