内容
# ⚽ 英超联赛 MCP 服务器
一个 **模型上下文协议(MCP)服务器**,为 Claude AI 提供实时访问足球数据的能力 — 实时比分、 standings 和比赛信息 — 主要关注 **英超联赛**,由 API-Football API 提供支持。
> 作为 AI 超能力挑战的一部分而构建:为 Claude 提供与现实世界交互的真实工具。
---
## 🤖 AI 可以用它做什么?
连接后,Claude 可以:
- ⚽ **获取实时足球比分**,来自任何正在进行的全球比赛
- 📊 **获取联赛 standings**,适用于英超联赛、西甲联赛、意甲联赛、德甲联赛等
- 🗣️ **回答自然语言问题**,例如 *"谁在英超联赛中获胜?"*
---
## 🛠️ 技术栈
| 技术 | 角色 |
|---|---|
| Python 3.11+ | 核心语言 |
| [FastMCP](https://github.com/jlowin/fastmcp) | MCP 服务器框架 |
| httpx | 异步 HTTP 请求 |
| python-dotenv | API 密钥管理 |
| API-Football (RapidAPI) | 足球数据源 |
| Claude Desktop | 用于测试的 MCP 客户端 |
---
## 📁 项目结构
```
pl-mcp-server/
├── tools/
│ ├── __init__.py
│ └── sports.py # API-Football 逻辑
├── server.py # MCP 服务器 + 工具定义
├── .env # API 密钥(gitignored)
├── requirements.txt
└── README.md
```
---
## 🚀 入门指南
### 1. 克隆仓库
```bash
git clone https://github.com/nawfel-dahmani/pl-mcp-server.git
cd pl-mcp-server
```
### 2. 创建虚拟环境
```bash
python -m venv venv
# Windows
venv\Scripts\activate
# Mac/Linux
source venv/bin/activate
```
### 3. 安装依赖项
```bash
pip install -r requirements.txt
```
### 4. 设置 API 密钥
在根目录下创建 `.env` 文件:
```
RAPIDAPI_KEY=your_key_here
```
在 [rapidapi.com](https://rapidapi.com) 获取免费密钥 → 搜索 **API-Football** → 订阅免费计划。
### 5. 测试服务器
```bash
python server.py
```
如果它运行后没有任何错误 — 它就工作了!✅
---
## 🔌 连接到 Claude Desktop
1. 打开 Claude Desktop → 设置 → 开发者 → **编辑配置**
2. 将以下内容添加到配置文件中:
```json
{
"mcpServers": {
"pl-mcp-server": {
"command": "FULL_PATH_TO\\venv\\Scripts\\python.exe",
"args": ["FULL_PATH_TO\\server.py"]
}
}
}
```
3. 重启 Claude Desktop
4. 在设置 → 开发者中查找 **pl-mcp-server**,并带有 🟢 **运行中** 徽章
---
## 🧰 可用工具
| 工具 | 描述 | 参数 |
|---|---|---|
| `live_scores` | 获取当前所有正在进行的足球比赛 | 无 |
| `standings` | 获取联赛表格 | `league_id`(int),`season`(int) |
### 常见联赛 ID
| 联赛 | ID |
|---|---|
| 英超联赛 | 39 |
| 西甲联赛 | 140 |
| 意甲联赛 | 135 |
| 德甲联赛 | 78 |
| 法甲联赛 | 61 |
---
## 💬 示例提示
连接 Claude Desktop 后,尝试:
```
"现在有正在进行的足球比赛吗?"
"显示 2024 年英超联赛 standings"
"本赛季西甲联赛的表格是什么?"
```
---
## 📦 需求
```
mcp
httpx
python-dotenv
```
使用以下命令安装:
```bash
pip install -r requirements.txt
```
---
## 📄 许可证
MIT 许可证 — 参见 [LICENSE](LICENSE) 以获取详细信息。