F1数据服务器

一个为F1粉丝、分析师和开发者提供历史及实时F1数据的服务器,包含车手排名、赛事信息、赛道可视化等功能。

  • by Darakhsh1999
  • Jupyter Notebook
  • 混合部署
  • 1 星标
  • 更新于
在 GitHub 查看 Darakhsh1999/f1-mcp-server

使用说明

🏁 一级方程式赛车MCP服务器🏎️

该项目为F1数据定义了一个MCP服务器,为球迷、分析师和开发人员提供了轻松访问大量F1统计数据和信息的途径。它使用Python构建,由Gradio框架提供支持,提供了一个用户友好的web界面,可以探索F1历史和最新数据 FastF1 图书馆与官员 OpenF1 API.

视频演示(克劳德桌面)

建筑

MCP服务器和客户端的架构概述。MCP服务器使用 Gradio 后端,可以在本地或远程服务器上运行。

Gradio主要功能

界面分为几个部分 Gradio 选项卡,每个选项卡专用于特定类型的F1数据:

  • 锦标赛排名: 查看1950年至今任何一个赛季的最终车手和制造商冠军排名。
  • 活动信息: 获取任何大奖赛的详细信息,包括赛程和赛道细节。
  • 季节日历: 显示给定年份的完整比赛日历。
  • 轨迹可视化: 生成并查看最快比赛圈数的图表,可视化速度、换挡和转弯重力。
  • 会话结果: 获取任何比赛环节(练习赛、资格赛或比赛)的详细结果。
  • 驾驶员和施工人员信息: 查找车手和车队的背景信息和统计数据。
  • OpenF1 API工具: 一个高级工具包,用于开发人员直接查询OpenF1 API、构建自定义请求和查看原始JSON响应。

技术栈

  • 后端: python
  • Web框架: 度
  • 数据来源:
    • fastf1 Python历史数据库。
    • openf1 通过其公共API获取实时和最新数据。
  • 关键库: pandas, matplotlib

MCP服务器

MCP服务器在内部定义 app.py.

MCP客户端

MCP客户端和AI代理在内部定义 mcp_client.py 并允许通过服务器端事件(SSE)传输与MCP服务器进行交互。

MCP配置文件

对于支持SSE传输的MCP客户端(对于Claude Desktop,请参阅下文),可以使用以下配置:

{
  "mcpServers": {
    "gradio": {
      "url": "https://agents-mcp-hackathon-f1-mcp-server.hf.space/gradio_api/mcp/sse"
    }
  }
}

对于Claude Desktop,可以使用以下配置,但请确保安装了Node.js:

{
  "mcpServers": {
    "gradio": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://agents-mcp-hackathon-f1-mcp-server.hf.space/gradio_api/mcp/sse",
        "--transport",
        "sse-only"
      ]
    }
  }
}