返回市场
cfbd-mcp服务器

cfbd-mcp服务器

作者:lenwood22 星标更新:2025-05-07

项目介绍

大学橄榄球数据MCP服务器

这是一个MCP服务器实现,提供对来自大学橄榄球数据API V2的大学橄榄球统计数据的访问,在Claude桌面中使用。

Python版本 CFBD API版本 MIT许可证 smithery徽章

概述

此模型上下文协议(MCP)服务器使AI助手和应用程序能够:

  • 查询全面的大学橄榄球统计数据和信息
  • 访问比赛结果、球队记录和球员统计数据
  • 分析逐球数据和进攻摘要
  • 查看排名和胜率指标
  • 对比球队表现并生成见解

用户可以使用自然语言运行查询。

示例输出

Q. 在2014赛季中,FCS级别的比赛中最大的冷门是什么?

A. 让我帮助找到2014年最大的FCS冷门。我将查看比赛数据,重点关注FCS球队之间的比赛,其中存在显著的实力差距和意外的结果。

数据显示在2014年FCS中有多个值得注意的冷门,但其中一个特别突出的是Eastern Washington在2014年9月6日以52-59击败了Washington。这尤其重要是因为:

  1. Washington是Pac-12联盟中的FBS球队
  2. 比赛是在Washington的主场(Husky Stadium)进行的
  3. 根据赛后统计,Eastern Washington的胜算仅为1.4%
  4. Eastern Washington得分59分,这是FCS球队对阵Pac-12对手时的最高得分
  5. 在比赛开始前,Washington被广泛看好会获胜

该赛季其他值得注意的FCS冷门包括:

  • 北达科他州立队以34-14击败爱荷华州立大学
  • 贝斯努克-库克曼以14-12击败FIU
  • 北爱荷华几乎击败爱荷华(以31-23落败)

然而,考虑到以下因素,Eastern Washington击败Washington似乎是2014年FCS赛季的最大冷门:

  • 分区差异(FCS vs FBS)
  • FBS对手的质量(Power 5联盟)
  • 进攻表现和比分差距
  • 历史意义,作为FCS球队对Power 5球队的高分胜利之一
  • 它发生在敌对环境中

预备条件

安装

通过Smithery安装

要通过Smithery自动安装College Football Data Server for Claude Desktop:

npx -y @smithery/cli install cfbd --client claude
  1. 克隆此仓库:
git clone https://github.com/yourusername/cfbd-mcp-server
cd cfbd-mcp-server
  1. 创建并激活虚拟环境:
uv venv
source .venv/bin/activate  # 在Windows上:.venv\Scripts\activate
  1. 安装依赖项:
uv pip install -e .
  1. 在项目根目录创建一个.env文件,并添加您的API密钥:
CFB_API_KEY=your_api_key_here

手动安装

  1. 克隆此仓库:
git clone https://github.com/yourusername/cfbd-mcp-server
cd cfbd-mcp-server
  1. 创建并激活虚拟环境:
uv venv
source .venv/bin/activate  # 在Windows上:.venv\Scripts\activate
  1. 安装依赖项:
uv pip install -e .
  1. 在项目根目录创建一个.env文件,并添加您的API密钥:
CFB_API_KEY=your_api_key_here

使用方法

启动服务器

启动服务器:

uv run cfbd-mcp-server

与Claude桌面连接

  1. 打开您的Claude桌面配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加服务器配置:

{
    "mcpServers": {
        "cfbd-mcp-server": {
            "command": "uv",
            "args": [
                "--directory",
                "/full/path/to/cfbd-mcp-server",
                "run",
                "cfbd-mcp-server"
            ],
            "env": {
                "CFB_API_KEY": "xxx",
                "PATH": "/full/path/to/python"
            }
        }
    }
}
  1. 关闭然后重新启动Claude桌面

重新启动后,您可以通过点击文本框左下角的加号来确认安装。如果成功,您将在菜单选项中看到“从cfbd-mcp-server添加”。这里有一个成功的安装截图。

成功安装截图

安装后的更新

  1. 下载更新的文件
cd cfbd-mcp-server
git pull
  1. 卸载现有包:
uv pip uninstall cfbd-mcp-server
  1. 删除现有的构建工件和元数据

对于Windows:

rmdir /s /q build dist
del /s /q *.egg-info

对于macOS:

rm -rf build dist *.egg-info
  1. 安装修订后的包及其依赖项
uv pip install -e .
uv sync --dev --all-extras
uv run cfbd-mcp-server
  1. 关闭并重新启动Claude桌面

功能

资源

访问所有端点的模式文档:

  • schema://games - 比赛信息和分数
  • schema://records - 球队赛季记录
  • schema://games/teams - 详细的球队比赛数据
  • schema://plays - 逐球信息
  • schema://drives - 进攻摘要和结果
  • schema://play/stats - 单个逐球统计数据
  • schema://rankings - 球队在各种投票中的排名
  • schema://metrics/wp/pregame - 赛前胜率
  • schema://game/box/advanced - 高级比赛统计

工具

直接查询端点:

  • get-games - 获取比赛数据
  • get-records - 获取球队记录
  • get-games-teams - 访问球队比赛统计数据
  • get-plays - 查询逐球数据
  • get-drives - 分析进攻信息
  • get-play-stats - 查看逐球统计数据
  • get-rankings - 检查球队排名
  • get-pregame-win-probability - 查看胜率
  • get-advanced-box-score - 访问详细的比赛统计和分析

提示

预建分析模板:

  • analyze-game - 获取特定比赛的详细分析
  • analyze-team - 综合单支球队分析
  • analyze-trends - 分析整个赛季的趋势
  • compare-teams - 比较两支球队的表现
  • analyze-rivalry - 分析历史上的对抗比赛

API限制

大学橄榄球数据API免费使用,但有速率限制:

  • 免费层:每分钟有限制请求次数
  • CFBD Patreon订阅者享有更高的速率限制
  • 使用高效的查询模式以避免达到限制
  • 优雅地处理速率限制错误

开发

项目结构

cfbd-mcp-server/
├── README.md
├── pyproject.toml
└── src/
    └── cfbd_mcp_server/
        ├── .env
        ├── __init__.py
        ├── cfbd_schema.py
        ├── schema_helpers.py
        └── server.py

开发设置

  1. 克隆仓库
  2. 安装开发依赖项:
uv pip install -e ".[dev]"
  1. 运行测试:
pytest

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 提交更改
  4. 推送到您的分叉
  5. 提交拉取请求

故障排除

常见问题

  1. API密钥错误

    • 验证您的API密钥是否正确设置在.envclaude_desktop_config.json文件中
    • 检查密钥是否有效,访问collegefootballdata.com
  2. 速率限制

    • 尽可能分散请求
    • 考虑成为Patreon订阅者以获得更高的限制
    • 实现缓存以减少频繁访问的数据
  3. 连接问题

    • 验证互联网连接
    • 检查API状态,访问collegefootballdata.com
    • 确保代码中有适当的错误处理

获取帮助

许可证

本项目根据MIT许可证发布 - 详情请参阅LICENSE文件。

致谢