NHL MCP服务器
用于NHL API的综合模型上下文协议(MCP)服务器,使用FastMCP构建。该服务器通过MCP工具提供对所有记录的NHL API端点的访问,使人工智能助手能够访问实时NHL数据。
🏒 特性
此MCP服务器提供对以下内容的访问 40+NHL API终点 包括:
玩家信息
- 玩家游戏日志(当前和历史赛季)
- 球员详细信息和职业统计
- 球员聚光灯和特色球员
- 玩家登录页面和传记数据
统计
- 当前和历史滑冰选手数据领导者
- 当前和历史守门员统计领导者
- 可定制的统计类别和限制
- 赛季和职业生涯总计
团队信息
- 球队排名(按日期统计的当前和历史)
- 团队统计数据和绩效指标
- 包含球员详细信息的球队名单
- 团队日程和即将到来的比赛
- 俱乐部统计数据和球队比较
游戏信息
- 每日得分和实时记分牌
- 包含详细事件的逐局游戏数据
- 游戏箱得分和统计摘要
- 游戏故事和比赛摘要
- 游戏登录页面
联盟信息
- 联赛日程和赛季日历
- 电视节目表和广播信息
- 流媒体可用性(“在哪里观看”)
- 网络电视时间表
季后赛信息
- 季后赛概述和锦标赛括号
- 季后赛时间表和系列信息
- 季后赛统计和记录
附加功能
- 季节信息和草稿数据
- 元信息和API实用程序
- 团队代码引用和格式助手
- 全面的错误处理
🚀 安装
- 克隆或下载此存储库
- 安装所需的依赖项:
pip install -r requirements.txt依赖关系:
fastmcp>=2.8.0-用于创建MCP服务器的FastMCP框架requests>=2.31.0-API调用的HTTP库typing-extensions-增强的类型提示支持
📖 用法
运行服务器
启动MCP服务器:
python nhl_mcp_server.py服务器将启动并监听MCP连接。
MCP客户端配置
将此服务器添加到您的MCP客户端配置中(例如,Claude Desktop):
{
"mcpServers": {
"nhl-api": {
"command": "python",
"args": ["/path/to/nhl_mcp_server.py"]
}
}
}测试服务器
运行测试脚本以验证功能:
# Test the underlying NHL API client
python test_client.py
# Test the MCP server backend
python test_mcp_server.py
# Run a comprehensive demo
python demo.py🛠️ 可用工具
服务器公开了以下MCP工具:
玩家工具
get_player_info(player_id)-获取详细的玩家信息get_player_game_log(player_id, season, game_type)-获取玩家游戏日志get_player_spotlight()-获取特色玩家
团队工具
get_standings_now()-获取当前NHL排名get_club_stats_now(team)-获取团队统计数据get_team_roster(team)-获取球队名单get_team_schedule(team)-获取团队日程
游戏工具
get_daily_scores_now()-获取今天的分数get_play_by_play(game_id)-逐个游戏get_game_boxscore(game_id)-获取游戏boxscore
统计工具
get_current_skater_stats_leaders()-获取滑冰选手数据领导者get_current_goalie_stats_leaders()-获取守门员数据领导者
计划工具
get_schedule_now()-获取当前时间表get_tv_schedule_now()-获取电视节目表
实用工具
get_team_codes()-获取NHL球队代码列表get_season_format_help()-获取季节和参数的格式帮助
📋 参数格式
团队代码
使用标准的NHL球队缩写:
TOR(多伦多枫叶队),MTL(蒙特利尔加拿大人队)NYR(纽约游骑兵队),BOS(波士顿熊队)EDM(埃德蒙顿石油公司),CGY(卡尔加里大火)- 以及所有其他NHL球队
季节格式
季节使用8位数字格式: YYYYYYYY
202320242023-24赛季202220232022-23赛季
游戏类型
2-常规赛3-季后赛
日期格式
使用ISO日期格式: YYYY-MM-DD
2024-01-152024年1月15日
💡 查询示例
连接到MCP客户端后,您可以问:
- *“目前NHL的排名是多少?”*
- *“给我看看康纳·麦克戴维本赛季的统计数据”*
- *“今天有什么比赛?”*
- *“获得多伦多枫叶队的名单”*
- *“谁是目前的得分领先者?”*
- *“给我看昨天的比赛成绩”*
- *“获得季后赛支架”*
🏗️ 建筑
该项目包括:
nhl_api_client.py-核心NHL API客户端,具有40多种端点功能nhl_mcp_server.py-将API功能公开为MCP工具的FastMCP服务器test_client.py-NHL API客户端的测试脚本test_mcp_server.py-MCP服务器后端的测试脚本demo.py-服务器功能的全面演示requirements.txt-Python依赖关系mcp_config_example.json-MCP客户端配置示例
✅ 测试与验证
服务器已通过以下方式进行了彻底测试:
- NHL实时数据:使用当前NHL赛季数据测试所有终点
- 错误处理:针对API故障和无效参数的稳健错误处理
- 响应验证:正确处理不同的响应类型(字典、列表等)
- MCP合规性:与MCP协议标准完全兼容
测试结果:
- ✅ 40+NHL API端点正常工作
- ✅ 实时数据检索(排名、得分、球员统计数据)
- ✅ MCP工具注册和曝光
- ✅ 错误处理和验证
- ✅ 文件和示例
🔧 错误处理
服务器包括全面的错误处理:
- HTTP错误:网络超时、连接失败、API不可用
- JSON解析:格式错误的响应和意外的数据结构
- 参数验证:无效的球队代码、球员ID和日期格式
- 速率限制:API费率限制的优雅处理
所有错误都以描述性消息的形式返回,以帮助调试。
🤝 贡献
欢迎通过以下方式做出贡献:
- 在新的NHL API端点可用时添加它们
- 改进错误处理和验证
- 添加更全面的测试
- 加强文档和示例
- 报告错误或提出改进建议
📄 许可证
这个项目是开源的。NHL API由国家冰球联盟提供,并受其服务条款的约束。
🖼️ 截图
NHL MCP服务器运行中
*屏幕截图显示NHL MCP服务器提供实时NHL数据,包括当前排名、球员信息、比赛成绩和统计数据。该服务器成功地与MCP客户端集成,为AI助手带来全面的冰球数据。*
______________________________________________________________________
🏒 准备好将实时NHL数据带给您的AI助手!
