NHL数据查询服务

提供实时NHL数据和统计信息的模型上下文协议服务器,支持自然语言查询,包括实时比分、球员统计、球队排名和季后赛信息等功能。

  • by argotdev
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 argotdev/nhl-mcp-ts

使用说明

NHL MCP服务器

一种模型上下文协议(MCP)服务器,提供具有自然语言查询功能的实时NHL数据和统计数据。通过简单的工具调用访问实时比赛成绩、球员统计数据、球队排名、季后赛信息和历史比较。

特性

1.现场游戏数据

获取NHL比赛的实时比分、比赛状态、时段信息和场地详细信息。

2.团队统计

访问全面的球队排名,包括胜、负、分、赞成/反对的进球数和进球差。按部门或会议过滤。

3.玩家统计

按不同类别(得分、进球、助攻、加减、投篮)查询顶级球员,并提供详细的表现指标。

4.日程信息

获取特定日期、球队或整个联盟即将到来和已完成比赛的时间表。

5.历史比较

比较多个赛季的球队或联盟统计数据,以确定趋势和变化。

7.附加赛

查看实时季后赛赛段信息,包括系列赛和结果。

11.戈莱统计

访问特定于守门员的指标,包括保存百分比、GAA、获胜、关闭等。

12.团队头对头

将两队的正面交锋记录与每场比赛的结果和赛季系列赛的排名进行比较。

14.条纹追踪

追踪任何球队最近10场比赛的连胜或连败情况。

17.分部/会议立场

按特定部门(大西洋、大都市、中部、太平洋)或会议(东部、西部)过滤的排名。

安装

npm install
npm run build

用法

使用Claude Desktop进行配置

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "nhl": {
      "command": "node",
      "args": ["/path/to/nhl-mcp-ts/dist/index.js"]
    }
  }
}

可用工具

get_live_games

获取实时游戏分数和状态。

参数:

  • date (可选):YYYY-MM-DD格式的日期(默认为今天)

示例查询:

  • “今天有什么NHL比赛?”
  • “给我看昨天的分数”
  • “现在有什么游戏吗?”

get_game_details

获取特定游戏的详细逐个游戏信息。

参数:

  • gameId (必填):NHL游戏ID

示例查询:

  • “显示游戏2024020156的详细信息”
  • “第2024020156场比赛发生了什么?”

get_standings

获取当前NHL排名。

参数:

  • date (可选):YYYY-MM-DD格式的日期
  • division (可选):按部门筛选(大西洋、大都市、中部、太平洋)
  • conference (可选):按会议筛选(东部、西部)

示例查询:

  • “显示当前NHL排名”
  • “大西洋赛区排名如何?”
  • “显示东部联盟排名”
  • “谁在领导大都会分部?”

get_team_stats

获取特定团队的详细统计数据。

参数:

  • teamAbbrev (必填):团队缩写(TOR、NYR、BOS、MTL等)
  • season (可选):季节格式为YYYYYYYY(例如20242025)

示例查询:

  • “给我看看多伦多枫叶队的统计数据”
  • “流浪者队本赛季表现如何?”
  • “获取波士顿熊的统计数据”

get_player_stats

获取顶级球员统计数据。

参数:

  • category (可选):按分数、进球数、助攻数、加2分、投篮数、投篮次数排序
  • limit (可选):要返回的玩家数量(默认为20)
  • season (可选):季节格式为YYYYYYYY

示例查询:

  • “谁是NHL得分最高的球员?”
  • “给我看看前10名进球者”
  • “本赛季谁的助攻最多?”
  • “哪些球员有最好的正负?”

get_goalie_stats

获取守门员统计数据。

参数:

  • limit (可选):要返回的守门员数量(默认值为20)
  • season (可选):季节格式为YYYYYYYY

示例查询:

  • “谁是本赛季最好的守门员?”
  • “按扑救百分比显示前10名守门员”
  • “哪些守门员被封得最多?”

get_schedule

获取游戏时间表。

参数:

  • date (可选):YYYY-MM-DD格式的日期
  • teamAbbrev (可选):团队特定时间表的团队缩写

示例查询:

  • “多伦多下一场比赛是什么时候?”
  • “给我看看枫叶队的赛程表”
  • “本周安排了哪些比赛?”

get_playoff_bracket

获取季后赛支架信息。

参数:

  • season (可选):季节年份(例如2024年)

示例查询:

  • “给我看看季后赛支架”
  • “目前季后赛的对决是什么?”
  • “谁参加了斯坦利杯决赛?”

compare_teams

比较两队之间的正面统计数据。

参数:

  • team1 (必填):一线队缩写
  • team2 (必填):第二队缩写
  • season (可选):季节格式为YYYYYYYY

示例查询:

  • “枫叶队是如何对抗熊队的?”
  • “多伦多和蒙特利尔的直接比较”
  • “NYR和NYI之间的季节系列是什么?”

get_team_streak

获得球队当前的连胜或连败。

参数:

  • teamAbbrev (必填):团队缩写

示例查询:

  • “枫叶队目前的连胜纪录是什么?”
  • “波士顿正在连胜吗?”
  • “给我看看流浪者队最近的成绩”

compare_seasons

比较多个季节的统计数据。

参数:

  • seasons (必填):YYYYYYYY格式的季节数组
  • teamAbbrev (可选):要比较的特定团队

示例查询:

  • “比较枫叶队过去3个赛季的表现”
  • “从2022年到2024年,得分有什么变化?”
  • “比较20232024年和20242025年的全联盟统计数据”

常见团队缩写

团队 缩写
阿纳海姆鸭队
亚利桑那州郊狼
波士顿熊队
水牛军刀 BUF
卡尔加里大火 CGY
卡罗莱纳州飓风 CAR
芝加哥黑鹰队
科罗拉多雪崩 科罗拉多州
哥伦布蓝夹克 CBJ
达拉斯之星 DAL
底特律红翼队
埃德蒙顿油工 EDM
佛罗里达黑豹队
洛杉矶国王队
明尼苏达野生动物 MIN
蒙特利尔加拿大人队
纳什维尔掠食者 NSH
新泽西魔鬼队
纽约岛民 NYI
纽约游骑兵队
渥太华参议员 OTT
费城飞人队
匹兹堡企鹅队
圣何塞鲨鱼队
西雅图海怪 SEA
圣路易斯蓝调 STL
坦帕湾闪电 待定
多伦多枫叶队 TOR
温哥华加人队 VAN
拉斯维加斯金骑士队 VGK
华盛顿首都
温尼伯喷气机队 WPG

自然语言示例

一旦配置了Claude Desktop,您就可以问自然语言问题,例如:

  • “今晚有什么NHL比赛?”
  • “谁在进球方面领先联盟?”
  • “给我看看大西洋赛区的排名”
  • “枫叶队本赛季表现如何?”
  • “流浪者队的比赛比分是多少?”
  • “多伦多和波士顿正面比较”
  • “按扑救率计算,前五名守门员是谁?”
  • “埃德蒙顿正在连胜吗?”
  • “给我看看季后赛支架”
  • “蒙特利尔下一场比赛是什么时候?”

数据源

此服务器使用官方NHL API终结点:

  • api-web.nhle.com -比赛、排名和赛程的主要数据源
  • api.nhle.com/stats/rest -统计数据和玩家数据

发展

# Install dependencies
npm install

# Build
npm run build

# Development mode with watch
npm run dev

许可证

麻省理工学院