项目简介

API-Football MCP 服务器是一个为大型语言模型 (LLM) 智能体设计的后端服务,专门用于提供英格兰足球超级联赛 (Premier League) 的全面数据。它通过集成API-Sports的API-Football v3,能够提供从2002年至今(部分数据可追溯至1992年)的丰富数据,包括实时比赛事件、联赛积分榜、球队信息和球员统计。该服务器采用TypeScript开发,具备严格的类型检查、强大的错误处理和智能缓存机制,以优化代理工作流程的性能和稳定性。

主要功能点

  • 历史数据覆盖:提供2002年至今的英超历史数据,部分工具支持追溯至1992年。
  • 实时数据:获取实时比赛事件、最新积分榜和赛程信息。
  • 智能缓存:采用LRU缓存策略,并根据数据类型设置不同的过期时间(TTL),如历史数据24小时、当前赛季数据5分钟、实时比赛数据30秒。
  • 速率限制处理:内置速率限制追踪和指数退避机制,确保API调用符合API-Sports的限制。
  • MCP协议支持:原生支持Model Context Protocol,方便与LLM智能体无缝集成。
  • 工具集:提供一系列工具供LLM调用,包括获取积分榜、赛程、球队、球员信息,查询实时比赛事件、球队阵容和API速率限制状态等。

安装步骤

  1. 前提条件
    • Node.js 22+ 版本
    • pnpm 包管理器
    • API-Sports 的 API-Football v3 API 密钥 (可从 API-Sports 获取)
  2. 克隆仓库
    git clone https://github.com/MarvDann/api-football-mcp.git
    cd api-football-mcp
  3. 安装依赖
    pnpm install
  4. 配置API密钥: 将您的API-Football API密钥设置为环境变量 'API_FOOTBALL_KEY'。
    export API_FOOTBALL_KEY=您的API密钥
    或者在项目根目录创建 '.env' 文件,内容如下:
    API_FOOTBALL_KEY=您的API密钥
  5. 构建项目
    pnpm run build

服务器配置 (MCP客户端使用)

MCP客户端需要配置此服务器的启动命令。以下是通用的JSON配置格式,您只需根据您的MCP客户端的文档进行适配。

{
  "mcpServers": {
    "api-football": {
      "command": "node",
      "args": ["dist/server.js"],
      "env": {
        "API_FOOTBALL_KEY": "请在此处填写您的API密钥",
        "NODE_ENV": "production",
        "LOG_TO_FILE": "true",
        "LOG_DIR": "./logs",
        "LOG_ROTATE_INTERVAL": "1d"
      }
    }
  }
}
  • command: '"node"' - 用于启动Node.js应用程序的命令。
  • args: '["dist/server.js"]' - 传递给 'node' 命令的参数,这里是服务器脚本的路径。
  • env: 一个环境变量对象,其中:
    • 'API_FOOTBALL_KEY': 您的API-Football API密钥。
    • 'NODE_ENV': 运行环境,建议设置为 '"production"'。
    • 'LOG_TO_FILE': 日志是否输出到文件,设置为 '"true"' 启用。
    • 'LOG_DIR': 日志文件存放目录,默认为 './logs'。
    • 'LOG_ROTATE_INTERVAL': 日志文件轮换周期,例如 '"1d"' 代表每天轮换。

基本使用方法

安装并配置完成后,可以通过以下命令启动MCP服务器:

pnpm start

或者直接运行编译后的服务器文件:

node dist/server.js

服务器启动后,您的MCP客户端(例如Claude Desktop, Cursor, Gemini等)就可以通过配置连接并使用该服务器提供的足球数据工具。

信息

分类

网页与API