关于 RaceHooks
RaceHooks 是面向 AI 助手用户的 F1 分析、实时计时与账户管理 MCP 服务。它将比赛和遥测数据与 Webhook、用量及回放管理工具结合起来。
主要功能
- 01实时赛况与分站日程
- 02比赛结果、策略分析与遥测
- 03车手、车队、赛道和赛季历史
- 04Webhook 创建、测试与投递日志
- 05账户方案、账单与用量指标
- 06已录制赛事的回放工具
适用场景
- 01查看当前赛段状态和计时
- 02比较车手表现与轮胎衰减
- 03创建并监控赛事数据 Webhook
- 04检查投递用量并回放已录制赛事
MCP 相关
通过 MCP 工具、只读资源和引导式提示词提供 RaceHooks 账户数据。请求使用已配置的账户凭据,数据可用范围取决于账户方案。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @racehooks/mcpRACEHOOKS_CLIENT_IDYour RaceHooks client ID. Get yours at racehooks.io.RACEHOOKS_CLIENT_SECRET密钥Your RaceHooks client secret.RACEHOOKS_BASE_URLAPI base URL. Defaults to https://api.racehooks.io.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
59收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 |
详细介绍
@racehooks/mcp
面向 RaceHooks 的 MCP 服务,让 AI 助手(Claude、Cursor、Windsurf)直接访问 RaceHooks 的赛车运动分析和数据。
RaceHooks 是一项独立服务,与 Formula One Management 或 FIA 无关,也未获其认可。“Formula 1”“F1” 及相关标志均为 Formula One Licensing BV 的商标。
功能说明
将你的 RaceHooks 账户提供给 AI 助手,包含 58 个工具、7 个资源和 6 个引导式提示词。每次调用都使用你的账户凭据,因此工具返回的内容取决于你的套餐(Free、Developer 或 Custom)。数据工具涵盖 Formula 1。
工具
实时数据
| 工具 | 功能 | 关键参数 | 套餐 |
|---|---|---|---|
get_live_session | 当前比赛阶段状态:旗帜、圈数、排名、间隔、轮胎、赛事控制消息。没有实时比赛时返回空内容。 | — | 全部套餐(Free 返回最新的里程碑排名,而非实时计时数据) |
list_events | 包含比赛阶段赛程和状态的比赛周末。 | year、upcoming、limit | 全部套餐 |
赛后分析
| 工具 | 功能 | 关键参数 | 套餐 |
|---|---|---|---|
list_insight_races | 已生成完整赛后分析数据包的比赛。 | season | 全部套餐 |
get_race_insights | 按车手、按圈提供模型输出(进站、安全车、超车、undercut、轮胎健康状况、性能断崖风险、LTOE、获胜概率、预期积分),以及进站、阶段和圈速数据。 | raceId | 全部套餐(Free 仅提供轮胎状态;策略预测需要 Developer+) |
get_model_meta | 公开的模型清单:各模型的预测内容、模型系列、校准等级和最近训练时间。 | — | 全部套餐 |
get_session_analytics | 某比赛阶段逐圈分析快照。 | sessionId | Developer+ |
get_race_summary | 赛后分析状态和遥测汇总指标。 | raceId | 全部套餐(汇总数据需要 Developer+) |
比赛
| 工具 | 功能 | 关键参数 | 套餐 |
|---|---|---|---|
get_race | 比赛详情,包括成绩和排位赛发车位。 | raceId | 全部套餐(计时字段需要 Developer+) |
get_race_qualifying | 排位赛成绩。 | raceId | 全部套餐(Q1/Q2/Q3 用时需要 Developer+) |
get_race_pitstops | 进站记录(车手、进站次数、圈数、用时)。 | raceId | 全部套餐 |
get_race_tyres | 轮胎使用阶段(配方、圈数范围、轮胎使用圈数)。 | raceId | 全部套餐 |
get_race_weather | 逐圈天气。 | raceId | 全部套餐 |
get_race_laps | 每圈用时和位置。 | raceId、driverId | Developer+ |
get_event_pace | 按车手汇总的练习赛和排位赛速度。 | eventId | Developer+ |
历史数据(车手、车队、赛道、赛季)
| 工具 | 功能 | 主要参数 | 套餐 |
|---|---|---|---|
list_drivers | 可搜索的车手列表。 | search、nationality、active、limit、offset | 全部(免费版页大小为 25,付费版为 100) |
get_driver | 包含职业生涯统计数据的车手档案。 | driverId | 全部 |
get_driver_results | 某位车手逐场比赛的成绩。 | driverId、season | 全部(计时字段需要 Developer+) |
get_driver_standings | 某位车手的历年锦标赛排名。 | driverId、season | 全部 |
list_constructors | 车队列表。 | lineage、active、limit、offset | 全部 |
get_constructor | 包含沿革历史的车队档案。 | constructorId | 全部 |
get_constructor_results | 某支车队逐场比赛的成绩。 | constructorId、season | 全部(计时字段需要 Developer+) |
get_constructor_standings | 某支车队的历年锦标赛排名。 | constructorId、season | 全部 |
list_circuits | 包含位置信息的赛道列表。 | country、limit、offset | 全部 |
get_circuit | 赛道详情和分析数据。 | circuitId | 全部 |
list_seasons | 包含比赛场数的赛季列表。 | — | 全部 |
get_season_standings | 某赛季最终车手和车队排名。 | year | 全部 |
get_season_races | 某赛季的比赛。 | year | 全部 |
遥测数据
| 工具 | 功能 | 主要参数 | 套餐 |
|---|---|---|---|
get_telemetry_laps | 逐圈遥测汇总数据(速度、油门、刹车、DRS、驾驶风格)。 | raceId、driverId、lapNumber | Developer+ |
get_telemetry_driver_laps | 某位车手的逐圈遥测数据。 | raceId、driverId | Developer+ |
get_telemetry_lap_comparison | 某一圈所有车手的遥测数据。 | raceId、lapNumber | Developer+ |
get_telemetry_race_summary | 比赛级别的遥测摘要。 | raceId | Developer+ |
get_race_telemetry_laps | 来自比赛数据 API 的逐圈遥测指标。 | raceId、driverId | Developer+ |
get_race_telemetry_stints | 每个轮胎阶段的遥测数据和性能衰减斜率。 | raceId、driverId | Custom |
get_race_telemetry_aggression | 车手驾驶风格指数排名。 | raceId | Custom |
Fantasy
| 工具 | 功能 | 主要参数 | 套餐 |
|---|---|---|---|
get_fantasy_scores | 各车手估算的 F1 Fantasy 积分,包含完整明细。 | raceId | Developer+ |
get_fantasy_pit_times | 某场比赛的进站时间排行榜(静止时间)。 | sessionId | Developer+ |
账户、用量和 Webhook
| 工具 | 功能 | 主要参数 | 套餐 |
|---|---|---|---|
list_feeds | 数据源目录,列出每个数据源所需的套餐。 | limit | 全部 |
list_webhooks | 账户上的 Webhook 订阅。 | limit、offset | 全部 |
get_webhook | 按 ID 获取单个 Webhook。 | webhookId | 全部 |
create_webhook | 创建 Webhook;签名密钥仅返回一次。 | feedId、webhookUrl、webhookMethod、filters | 全部 |
update_webhook | 更改 URL、方法或筛选条件;通过 active 暂停或恢复。 | webhookId、webhookUrl、filters、active | 全部 |
delete_webhook | 删除 Webhook。 | webhookId | 全部 |
test_webhook | 立即发送测试负载。 | webhookId | 全部 |
get_webhook_logs | 最近的投递日志。 | webhookId、limit | 全部 |
get_webhook_secret | 当前签名密钥。 | webhookId | 全部 |
rotate_webhook_secret | 轮换签名密钥(旧密钥立即失效)。 | webhookId | 全部 |
get_subscription | 套餐层级、套餐限制和用量快照。 | — | 全部 |
get_usage | 本期投递量和失败次数、剩余配额。 | — | 全部 |
get_usage_by_feed | 本期按数据源统计的投递量。 | — | 全部 |
get_usage_latency | 按数据源统计的投递延迟百分位数。 | — | 全部 |
get_usage_hourly | 过去 24 小时的每小时投递量。 | — | 全部 |
get_usage_history | 过去各期的投递历史。 | — | 全部 |
get_billing_plan | 当前套餐、限制、本期用量和计费周期日期。 | — | 全部 |
会话回放
| 工具 | 功能 | 关键参数 | 套餐 |
|---|---|---|---|
list_replay_sessions | 可供回放的录制会话。 | year、type、limit、offset | 全部(Free 和 Developer:仅限当前赛季) |
get_demo_session | 精选的演示会话,可供回放。 | — | 全部 |
get_replay_quota | 你所在套餐的回放交付配额(不同会话的名额)。 | — | 全部 |
prepare_replay | 准备会话的播放内容。 | sessionId | 全部 |
get_replay_status | 查看会话的播放内容是否已就绪。 | sessionId | 全部 |
资源(只读上下文)
racehooks://feeds— 完整的数据源目录racehooks://live— 当前实时会话状态racehooks://webhooks— 所有 Webhook 订阅racehooks://usage— 当前交付用量racehooks://drivers— 当前赛季车手名单racehooks://circuits— 包含位置信息的赛道racehooks://seasons— 包含比赛数量的赛季
提示词(引导式工作流)
setup_race_event_webhook— 创建带筛选条件的events.race订阅setup_fantasy_scoring_webhook— 创建针对 Fantasy 优化的订阅check_account_health— 完整的账户健康状况摘要analyze_race_strategy— 分析一场比赛的进站策略、轮胎管理和模型预测compare_drivers— 对比两位车手在一场比赛中的表现explain_ml_predictions— 说明模型对最近一场已分析比赛的预测与实际结果有何不同
安装
npm install -g @racehooks/mcp
或者使用 npx 直接运行:
npx @racehooks/mcp
前往 racehooks.io 获取 API 凭据。
配置
需要设置两个环境变量;如果未设置,服务将在启动时退出:
export RACEHOOKS_CLIENT_ID="your-client-id"
export RACEHOOKS_CLIENT_SECRET="your-client-secret"
# Optional — defaults to https://api.racehooks.io
export RACEHOOKS_BASE_URL="https://api.racehooks.io"
Claude Desktop
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"racehooks": {
"command": "npx",
"args": ["-y", "@racehooks/mcp"],
"env": {
"RACEHOOKS_CLIENT_ID": "your-client-id",
"RACEHOOKS_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Claude Code
Claude Code 不会从 .claude/settings.json 读取 MCP 服务。请使用 CLI 添加服务:
claude mcp add racehooks \
-e RACEHOOKS_CLIENT_ID=your-client-id \
-e RACEHOOKS_CLIENT_SECRET=your-client-secret \
-- npx -y @racehooks/mcp
添加 --scope project 可将其写入项目共享的 .mcp.json,添加 --scope user 则可在每个项目中使用。若要在不提交密钥的情况下将文件纳入版本控制,请在 .mcp.json 中引用环境变量:
{
"mcpServers": {
"racehooks": {
"command": "npx",
"args": ["-y", "@racehooks/mcp"],
"env": {
"RACEHOOKS_CLIENT_ID": "${RACEHOOKS_CLIENT_ID}",
"RACEHOOKS_CLIENT_SECRET": "${RACEHOOKS_CLIENT_SECRET}"
}
}
}
}
Cursor / Windsurf
添加到你的 MCP 配置(.cursor/mcp.json 或等效文件):
{
"mcpServers": {
"racehooks": {
"command": "npx",
"args": ["-y", "@racehooks/mcp"],
"env": {
"RACEHOOKS_CLIENT_ID": "your-client-id",
"RACEHOOKS_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Cline
在 Cline 中,打开 MCP Servers → Installed → Configure MCP Servers,然后添加到 cline_mcp_settings.json:
{
"mcpServers": {
"racehooks": {
"command": "npx",
"args": ["-y", "@racehooks/mcp"],
"env": {
"RACEHOOKS_CLIENT_ID": "your-client-id",
"RACEHOOKS_CLIENT_SECRET": "your-client-secret"
},
"disabled": false
}
}
}
Claude 使用示例
配置完成后,你可以向 Claude 提出如下请求:
“检查我的 RaceHooks 账户健康状况”
“为 https://myapp.com/hook 创建一个
events.raceWebhook,仅筛选 Ferrari”
“对比上一场比赛中 VER 和 NOR 的轮胎退化情况”
“告诉我今天哪些数据源消耗的交付配额最多”
“为我的 VER、NOR、LEC 车队在 https://scoring.myapp.com/hook 设置一个 Fantasy 计分 Webhook”
安全性
MCP 服务以本地 stdio 进程运行,不会绑定网络端口。你的凭据通过环境变量传递,仅发送至 RaceHooks API(用于获取访问令牌),绝不会包含在工具调用或资源 URI 中。
所有 API 调用均使用 OAuth 2 客户端凭据进行身份验证(令牌会在过期前自动刷新)。
链接
- RaceHooks 控制台 — 注册并管理你的账户
- RaceHooks API 文档
- Webhook API 参考
- 数据源目录
- GitHub
- npm
- Smithery 列表
- MCP 规范
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。