足球数据查询服务器

一个通过Football-Data.org API提供实时足球数据的模型上下文协议(MCP)服务器,作为Claude与足球数据源之间的桥梁,用于回答足球相关问题。

  • by Javilejoo
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 javilejoo/soccer-mcp-server

使用说明

足球MCP服务器⚽

模型上下文协议(MCP)服务器,通过football-data.org API提供对足球/足球数据的实时访问。此服务器充当Claude和##之间的“桥梁”📝 局限性

  • 免费计划:每分钟10个电话
  • 历史数据:免费计划有限
  • 比赛:并非所有联赛都在免费计划中

🔗 实用链接


⚽ 享受与克劳德查询足球数据! ⚽回答足球相关问题的资源。

🌟 特性

  • 通过竞争获得团队:查询特定联赛的所有球队
  • 列出可用的比赛:查看所有可用的联赛和锦标赛
  • 克劳德整合:与Claude Desktop无缝协作
  • 可靠的API:使用Football-Data.org作为数据源

📋 先决条件

  • Python 3.8+ 安装在您的系统上
  • Football-Data.org帐户 获取免费的API密钥
  • 克劳德桌面 (使用MCP服务器)

🔑 获取Football-Data.org API密钥

  1. 访问: https://www.football-data.org/
  2. 注册:点击“注册”并创建免费帐户
  3. 验证您的邮箱:通过验证电子邮件确认您的帐户
  4. 获取API密钥:
    • 登录您的帐户
    • 转到您的仪表板/个人资料
    • 复制您的 API代币

免费计划包括:

  • ✅ 每分钟10个电话
  • ✅ 参加大型比赛
  • ✅ 基本球队和球员数据

🚀 安装

1.克隆存储库

git clone https://github.com/Javilejoo/Soccer-MCP-Server.git
cd Soccer-MCP-Server

2.创建虚拟环境

# On Windows
python -m venv soccervenv
soccervenv\Scripts\activate

# On macOS/Linux
python3 -m venv soccervenv
source soccervenv/bin/activate

3.安装依赖项

pip install -r requirements.txt

4.配置环境变量

创建一个 .env 项目根目录中的文件:

API_KEY=your_api_key_here
FOOTBALL_BASE=https://api.football-data.org/v4
HTTP_TIMEOUT=10

重要:替换 your_api_key_here 使用您的实际Football-Data.org API密钥

⚙️ Claude桌面配置

1.找到配置文件

  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2.添加MCP配置

打开 claude_desktop_config.json 文件并添加:

{
  "mcpServers": {
    "soccer-mcp-server": {
      "command": "python",
      "args": [
        "C:/full/path/to/your/Soccer-MCP-Server/src/server.py"
      ],
      "env": {
        "PYTHONPATH": "C:/full/path/to/your/Soccer-MCP-Server/soccervenv/Scripts"
      }
    }
  }
}

重要:

  • 替换 C:/full/path/to/your/Soccer-MCP-Server 使用克隆项目的实际路径
  • 使用正斜杠(/)即使在Windows上进行JSON配置

3.重新启动克劳德桌面

完全关闭Claude Desktop并重新打开以加载新配置。

🎮 用法

配置后,您可以向Claude提出以下问题:

示例问题:

从联盟中获取球队:

  • “英超联赛有哪些球队?”
  • “让我看看西甲的所有球队”
  • “哪些球队参加意甲联赛?”

查看可用比赛:

  • “有哪些足球比赛?”
  • “显示所有联赛”
  • “我可以查询哪些锦标赛?”

常见竞赛代码:

  • PL -英超联赛(英格兰)
  • PD -甲级联赛/联赛(西班牙)
  • BL1 -德甲联赛(德国)
  • SA -意甲(意大利)
  • FL1 Ligue 1(法国)
  • CL -冠军联赛
  • WC -世界杯

🛠️ 可用工具

get_teams_competitions(competition_id: str)

获取特定比赛中的所有队伍。

参数:

  • competition_id:竞争代码(例如“PL”、“CL”、“BL1”)

示例响应:

{
  "count": 20,
  "teams": [
    {
      "id": 57,
      "name": "Arsenal FC",
      "shortName": "Arsenal",
      "founded": 1886,
      "venue": "Emirates Stadium"
    }
  ]
}

get_competitions()

获取所有可用的比赛。

示例响应:

{
  "count": 35,
  "competitions": [
    {
      "id": 2021,
      "name": "Premier League",
      "code": "PL",
      "area": {
        "name": "England"
      }
    }
  ]
}

🔧 项目结构

Soccer-MCP-Server/
├── src/
│   └── server.py          # Main MCP server
├── soccervenv/            # Python virtual environment
├── .env                   # Environment variables
├── requirements.txt       # Python dependencies
└── README.md             # This file

🐛 故障排除

错误:“未配置API_KEY”

  • 确认 .env 文件存在于项目根目录中
  • 确保API密钥配置正确,没有额外的空格

错误:“找不到MCP服务器”

  • 验证中的路径 claude_desktop_config.json 是正确的
  • 确保使用正斜杠(/)在路径
  • 完全重新启动克劳德桌面

错误:“HTTP 401未经授权”

  • 您的API密钥可能无效或已过期
  • 检查您的Football-Data.org帐户
  • 如有必要,生成新的API密钥

错误:“HTTP 429请求太多”

  • 您已超过免费计划的每分钟10次通话限制
  • 请等待一分钟,然后再进行更多查询

📝 局限性

  • 免费计划:每分钟10个电话
  • 历史数据:免费计划有限
  • 比赛:并非所有联赛都在免费计划中

🔗 有用的链接


⚽ 享受与克劳德一起查询足球数据! ⚽足球MCP服务器 MCP足球服务器旨在查询足球数据服务器将充当客户机/LLM和外部数据源之间的“桥梁”,以回答有关足球的问题