Token导航 LogoToken导航TokenDH.com
API Into MCP logo
AI代理stdio官方级别未说明来源级核验

API Into MCP

MCP Server

一个双用途的REST API,提供欧洲足球数据查询服务,支持传统REST客户端和通过MCP集成的AI代理。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAI代理ClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

system32miro

提供方

system32miro

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

⚽ 足球API+MCP服务器

双用途REST API 从头开始构建,用于查询欧洲足球数据-服务于两者 传统REST客户端通过MCP集成的AI代理.

🎯 独特的双重架构

该项目展示了 突破性方法:单个FastAPI应用程序,同时用作:

  • 🌐 传统REST API -适用于web应用程序、移动应用程序和标准HTTP客户端
  • 🤖 MCP服务器 -用于具有智能语义工具的AI代理(Claude、Cursor、Windsurf)
  • 📊 实时SSE -服务器发送事件以实现无缝的AI代理连接

从头做起 通过生产就绪的架构,这个API展示了现代应用程序如何将传统的web开发与人工智能代理生态系统连接起来。

🚀 革命性用例

传统发展

# Standard REST API calls
curl http://localhost:8000/api/v1/teams?search=manchester
curl http://localhost:8000/api/v1/matches?league_id=1

对于AI代理

"Show me Manchester City's latest matches"
"What's the current Premier League standings?"
"How many goals did Barcelona score this season?"

相同的数据,相同的API-不同的交互模式!

🤖 MCP功能

本API包括 集成MCP服务器 这允许AI代理(如Claude、Cursor等)通过智能语义工具直接访问足球数据。

✨ MCP能力

  • 🔍 智能搜索 适用于球队、球员和比赛
  • 📊 自动化统计 询问
  • 🏆 实时排名 分析
  • 🎯 自动过滤器 按联赛、球队、比赛日
  • 📈 复杂数据 聚合
  • 🤝 本机集成 使用IDE和AI代理

🔗 MCP端点

  • MCP网址: http://localhost:8000/mcp
  • 协议:服务器发送事件(SSE)
  • 工具:6个从API端点生成的自动工具

📊 可用数据

  • 5大联赛英超联赛,西甲,意甲,德甲,联赛1
  • 96支队伍 信息完整
  • 3150名玩家 个人数据和职位
  • 1752场比赛 有结果和统计数据
  • 更新排名 适用于所有联赛
  • 体育场, 教练裁判员

🚀 如何跑步

方法一:直接用Python

# Install dependencies (includes fastapi-mcp)
pip install -r requirements.txt

# Configure environment variables (optional)
cp .env.example .env

# Run API with integrated MCP
uvicorn app.main:app --reload

# Access API at: http://localhost:8000
# Access MCP at: http://localhost:8000/mcp

方法2:使用Docker(开发)

# Build and run
docker-compose up --build

# Access API at: http://localhost:8000
# Access MCP at: http://localhost:8000/mcp

方法3:生产部署

# Configure variables for production
export ENVIRONMENT=production
export ALLOWED_ORIGINS=https://yourdomain.com
export LOG_LEVEL=WARNING
export ENABLE_DOCS=false

# Deploy with production docker-compose
docker-compose -f docker-compose.prod.yml up -d

# Monitor logs
docker-compose -f docker-compose.prod.yml logs -f

🤖 IDE的MCP配置

光标/风帆

增添 ~/.cursor/mcp.json~/.windsurf/mcp.json:

{
  "mcpServers": {
    "football-api-mcp": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

克劳德桌面

添加到Claude配置文件:

{
  "mcpServers": {
    "football-api-mcp": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

其他MCP客户端

对于不直接支持SSE的客户端,请使用 mcp-remote:

{
  "mcpServers": {
    "football-api-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote", 
        "http://localhost:8000/mcp"
      ]
    }
  }
}

🛠️ 可用的MCP工具

1. health_check

检查API状态和数据库连接

2. get_leagues_api_v1_leagues__get

获取所有可用的欧洲联赛

3. get_teams_api_v1_teams__get

使用过滤器和分页搜索团队

  • 参数: search, league_id, page, size

4. get_team_api_v1_teams__team_id__get

获取特定团队的完整详细信息

5. get_matches_api_v1_matches__get

查询与高级筛选器匹配

  • 参数: league_id, team_id, matchday, winner, page, size

每个工具包括 完整的文件JSON模式 以促进AI代理的理解。

🔧 生产配置

环境变量

复制 .env.example.env 并配置:

ENVIRONMENT=production
ALLOWED_ORIGINS=https://yourdomain.com,https://www.yourdomain.com
DATABASE_PATH=sports_league.sqlite
LOG_LEVEL=WARNING
API_VERSION=1.0.0
ENABLE_DOCS=false  # Disable in production
MAX_PAGE_SIZE=100
DEFAULT_PAGE_SIZE=20

部署检查表

  • \[\]为特定域配置CORS
  • \[\]禁用生产中的文档(ENABLE_DOCS=false)
  • \[\]配置适当的日志记录(LOG_LEVEL=WARNING)
  • \[\]配置SSL/HTTPS
  • \[\]实现反向代理(Nginx)
  • \[\]配置数据库备份
  • \[\]配置监控
  • \[ \] 测试MCP连接 生产中

📚 API文档

  • Swagger用户界面: http://localhost:8000/docs(仅限开发)
  • ReDoc: http://localhost:8000/redoc(仅限开发)
  • 健康检查: http://localhost:8000/api/v1/health
  • MCP服务器: http://localhost:8000/mcp

🔗 主要终点

联盟

  • GET /api/v1/leagues -列出所有联赛
  • GET /api/v1/leagues/{id} -联赛详情
  • GET /api/v1/leagues/{id}/teams -联盟中的球队
  • GET /api/v1/leagues/{id}/standings -联赛排名

团队

  • GET /api/v1/teams -列出团队(带分页和搜索)
  • GET /api/v1/teams/{id} -团队详细信息
  • GET /api/v1/teams/{id}/players -团队成员
  • GET /api/v1/teams/{id}/matches -团队比赛
  • GET /api/v1/teams/{id}/statistics -团队统计

火柴

  • GET /api/v1/matches -列表匹配(带过滤器和分页)
  • GET /api/v1/matches/{id} -比赛详情
  • GET /api/v1/matches/upcoming -即将到来的比赛

🔍 过滤器和搜索

分页

?page=1&size=20

按联赛筛选

?league_id=1

以名称搜索

?search=manchester

匹配筛选器

?team_id=65&winner=HOME_TEAM&matchday=1

📖 使用示例

传统REST API

# Get all leagues
curl http://localhost:8000/api/v1/leagues

# Search Manchester teams
curl "http://localhost:8000/api/v1/teams?search=manchester"

# Premier League standings
curl http://localhost:8000/api/v1/leagues/1/standings

# Manchester City matches
curl http://localhost:8000/api/v1/teams/65/matches

通过MCP代理(Cursor/Claude)

"How many teams are in the Premier League?"
"Show me Manchester City's details"
"What's the current La Liga standings?"
"How many goals did Barcelona score this season?"

代理将自动使用MCP工具回答问题!

🛠️ 技术

  • 快速 API -现代快速的web框架
  • FastAPI-MCP -本地MCP集成
  • 派丹蒂克 -数据验证
  • 数据库 -轻量级和可移植的数据库
  • 乌维科恩 -ASGI服务器
  • 码头工人 -集装箱化
  • MCP协议 -人工智能代理的模型上下文协议

📁 项目结构

api/
├── app/
│   ├── main.py              # Main application + MCP Server
│   ├── config.py            # Configuration and environment variables
│   ├── logging_config.py    # Logging configuration
│   ├── database.py          # SQLite connection
│   ├── models.py            # Pydantic models
│   ├── utils.py             # Utilities (pagination, filters)
│   └── routers/             # Organized endpoints
│       ├── leagues.py
│       ├── matches.py
│       └── teams.py
├── requirements.txt         # Python dependencies (includes fastapi-mcp)
├── Dockerfile              # Docker configuration
├── docker-compose.yml      # Development
├── docker-compose.prod.yml # Production
├── .env.example            # Configuration example
├── README.md               # This file
└── sports_league.sqlite    # Database

🎯 特性

完整的REST API 自动记录\ ✅ 集成MCP服务器 对于AI代理\ ✅ 6个MCP工具 自动生成\ ✅ 完整的MCP文档 使用JSON模式\ ✅ SSE支持 用于实时连接\ ✅ 分页 对于大型数据集\ ✅ 高级过滤器 按联赛、球队、比赛日\ ✅ 文本搜索 在团队名称中\ ✅ 详细统计 对于团队\ ✅ 数据关系 (团队↔ 玩家↔ 比赛)\ ✅ 已配置CORS 用于网络访问\ ✅ 健康检查 用于监控\ ✅ Docker就绪 便于部署\ ✅ 结构化日志记录 用于生产\ ✅ 环境配置 (开发/生产)\ ✅ 稳健的错误处理\ ✅ 安全 非root用户

🔒 安全

  • API是 只读的 (仅GET查询)
  • MCP服务器已暴露 默认情况下为本地
  • 数据验证 与Pydantic
  • 一致的错误处理
  • 分页限制 防止过载
  • 受限CORS 到生产中的特定领域
  • 审计日志 对于所有请求
  • 非root用户的容器

📊 监控

  • 健康检查端点: /api/v1/health
  • MCP连接检查 通过健康检查
  • 结构化日志 在文件和stdout中
  • 性能指标 在日志中
  • 已配置Docker健康检查
  • MCP使用跟踪 在日志中

🤖 MCP用例

对于开发者

  • 开发过程中的快速数据搜索
  • 无需离开IDE即可进行统计分析
  • 通过Cursor聊天进行临时查询

体育分析师

  • 自动比较分析
  • 数据驱动的报告生成
  • 通过AI进行模式识别

对于记者

  • 快速事实核查
  • 文章统计数据收集
  • 关于球队和球员的上下文查询

📊 样品数据

API包含2023-2024赛季欧洲五大联赛的真实数据,包括:

  • 英超联赛:20支球队,约380场比赛
  • 西甲联赛:20支球队,约380场比赛
  • 意甲联赛:20支球队,约380场比赛
  • 德甲:18支球队,约306场比赛
  • 联赛 1:18支球队,约306场比赛

🚀 后续步骤

  • \[\]添加更多MCP工具(高级统计)
  • \[\]实现缓存以获得更好的性能
  • \[\]添加前几个季节的历史数据
  • \[\]创建可选的web仪表板
  • \[\]实现webhooks以实现实时更新

🤝 贡献

该项目展示了FastAPI和MCP之间的完美集成。请随意分叉和改进!

📄 许可证

MIT许可证-有关详细信息,请参阅许可证文件。

______________________________________________________________________

数据源: Kaggle-足球数据欧洲前五大联赛\ 由...驱动: 快速 API + FastAPI-MCP

目录标签

目录标签

PythonClaudeAI代理足球数据本地部署RESTAPI实时数据体育分析

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP