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许可证
麻省理工学院
