Token导航 LogoToken导航TokenDH.com
NBA Player Stats MCP Server logo
数据服务stdio官方级别未说明来源级核验

NBA Player Stats MCP Server

MCP Server

一个提供全面NBA球员统计数据的MCP服务器,包括生涯数据、赛季对比、高级指标等功能,适用于篮球数据分析和研究。

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
PythonClaude数据分析Claude

安装说明

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

作者 / 组织

ziyadmir

提供方

ziyadmir

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install nba-player-stats-mcp

详细介绍

NBA球员统计MCP服务器

一个专注的模型上下文协议(MCP)服务器,从basketball-reference.com提供全面的NBA球员统计数据。该服务器专门提供详细的球员统计数据,包括职业统计数据、赛季比较、高级指标、投篮统计数据等。

目录

特性

此MCP服务器提供跨三层深度的专业NBA球员统计工具:

第1层:核心统计(工具1-10)

  • 职业统计:完整的职业统计数据,按季节细分
  • 季节统计:包括季后赛在内的特定赛季的详细统计数据
  • 每场比赛平均值:传统每场比赛统计数据
  • 总计统计:赛季和职业生涯总计(非平均值)
  • 每36分钟:每36分钟调整一次的统计数据
  • 高级指标:PER、TS%、WS、BPM、VORP和其他效率指标
  • 玩家比较:两个玩家之间的并排比较
  • 射击分裂:详细的射击百分比和体积统计
  • 季后赛表现:完整的季后赛统计数据,并与常规赛进行比较
  • 职业亮点:最佳赛季、里程碑和成就

第二层:深度分析(工具11-17)

  • 游戏日志:用于详细分析的逐个游戏统计数据
  • 特定统计查询:获取任何季节的个人统计数据(例如,“斯蒂芬2018年的3P%”)
  • 奖项与投票:MVP、DPOY和其他奖项投票职位
  • 与团队统计数据:针对特定团队的职业表现
  • 每月拆分:按月份分列的业绩
  • 离合器统计数据:在近距离比赛和压力情况下的表现
  • 季后赛详细信息:季后赛逐年表现

第三层:超深度分析(工具18-23)

  • 职业发展趋势:同比增长和下降分析
  • 游戏高潮:职业生涯新高,40+分的比赛,三双
  • 情境性分裂:主场/客场、休息日、输赢情况
  • 季度统计数据:第四季度专业化和离合器性能
  • 里程碑跟踪:在有预测的记录方面取得进展
  • 历史排名:球员在NBA历史上的排名

附加功能

  • 球员头球:Basketball-reference.com球员头像网址
  • 多种统计类型: PER_GAME,TOTALS,PER_MINUTE,PER_POSS,ADVANCED
  • 历史数据:了解历史季节和职业发展
  • 23总工具:全面覆盖所有可能的玩家统计查询

快速开始

从PyPI安装

pip install nba-player-stats-mcp

从源代码安装

  1. 克隆存储库:
git clone https://github.com/ziyadmir/nba-player-stats-mcp
cd nba-player-stats-mcp
  1. 安装依赖项:
pip install -r requirements.txt

运行服务器

# If installed from PyPI
nba-player-stats-server

# If running from source
python src/server.py

配置Claude桌面

{
  "mcpServers": {
    "nba-player-stats": {
      "command": "python",
      "args": ["path/to/basketball/src/server.py"],
      "cwd": "path/to/basketball"
    }
  }
}

安装

先决条件

  • Python 3.8或更高版本
  • pip包管理器

从PyPI安装

安装NBA球员统计MCP服务器的最简单方法:

pip install nba-player-stats-mcp

从源代码安装

为了开发或获取最新更改:

  1. 克隆存储库:
git clone https://github.com/ziyadmir/nba-player-stats-mcp
cd nba-player-stats-mcp
  1. 创建虚拟环境(推荐):
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 在开发模式下安装:
pip install -e .
# Or with development dependencies
pip install -e ".[dev]"

用法

启动服务器

# If installed from PyPI
nba-player-stats-server

# If running from source
python src/server.py

Python使用示例

# Import the fix first
import fix_basketball_reference
from basketball_reference_scraper.players import get_stats

# Get LeBron's career per-game stats
stats = get_stats('LeBron James', stat_type='PER_GAME', ask_matches=False)

# Get specific season
stats_2023 = stats[stats['SEASON'] == '2022-23']

# Get playoff stats
playoff_stats = get_stats('LeBron James', stat_type='PER_GAME', playoffs=True, ask_matches=False)

example_usage.py 更全面的例子。

可用工具

1. get_player_career_stats

获取NBA球员的完整职业统计数据。

参数:

  • player_name (字符串,必需):球员的姓名(例如“LeBron James”)
  • stat_type (字符串, 可选): 统计类型 - "PER_GAME", "TOTALS", "PER_MINUTE", "PER_POSS", "ADVANCED"

2. get_player_season_stats

获取特定季节的统计数据。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,必填):季节年份(例如,2022-23年为2023年)
  • stat_type (字符串,可选):统计数据类型
  • include_playoffs (布尔值,可选):包括季后赛统计数据(如果可用)

3. get_player_advanced_stats

获取高级统计数据(PER、TS%、WS、BPM、VORP等)。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,可选):特定季节,或所有季节均为无

4. get_player_per36_stats

获取每36分钟的统计数据(调整速度)。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,可选):特定季节,或所有季节均为无

5. compare_players

比较两名NBA球员的统计数据。

参数:

  • player1_name (字符串,必填):第一个玩家的名字
  • player2_name (字符串,必填):第二个玩家的名字
  • stat_type (字符串,可选):要比较的统计数据类型
  • season (整数,可选):特定季节,或无用于职业比较

6. get_player_shooting_splits

获取详细的拍摄统计数据和分割。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,可选):特定赛季,或无职业统计数据

7. get_player_totals

获取总统计数据(而不是平均值)。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,可选):特定季节,或职业生涯总计为无

8. get_player_playoff_stats

通过常规赛比较获得季后赛统计数据。

参数:

  • player_name (string,必填):玩家姓名
  • stat_type (字符串,可选):统计数据类型

9. get_player_headshot_url

获取basketball-reference.com头像URL。

参数:

  • player_name (string,必填):玩家姓名

10. get_player_career_highlights

获得职业亮点和成就。

参数:

  • player_name (string,必填):玩家姓名

第二层:深度分析工具

11. get_player_game_log

获取特定赛季的每场比赛统计数据。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,必填):季节年份(例如2024年)
  • playoffs (布尔值,可选):是否获取季后赛比赛日志
  • date_from (字符串,可选):“YYYY-MM-DD”格式的开始日期
  • date_to (字符串,可选):结束日期,格式为“YYYY-MM-DD”

12. get_player_specific_stat

获取特定赛季球员的具体统计数据。非常适合回答“斯蒂芬2018年的3P%是多少?”

参数:

  • player_name (string,必填):玩家姓名
  • stat_name (字符串,必填):具体统计数据(例如,“PTS”、“3P%”、“PER”)
  • season (整数,必填):季节年份

13. get_player_vs_team_stats

获取特定团队的职业统计数据。

参数:

  • player_name (string,必填):玩家姓名
  • team_abbreviation (字符串,必填):团队代码(例如“GSW”、“LAL”)
  • stat_type (字符串,可选):统计数据类型

14. get_player_awards_voting

获取奖项和投票历史记录。

参数:

  • player_name (string,必填):玩家姓名
  • award_type (字符串,可选):“MVP”、“DPOY”、“ROY”、”SMOY“、”MIP“

15. get_player_monthly_splits

获取按月细分的统计数据。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,必填):季节年份
  • month (字符串,可选):特定月份或全部为无

16. get_player_clutch_stats

在离合器情况下获得性能。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,可选):特定季节或无职业

17. get_player_playoffs_by_year

获取特定年份的详细季后赛统计数据。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,必填):季节年份

第三层:超深度分析工具

18. get_player_career_trends

分析职业趋势和进展,包括同比变化和下降/改善模式。

参数:

  • player_name (string,必填):玩家姓名
  • stat_name (字符串,可选):用于分析趋势的统计数据(默认值:“PTS”)
  • window_size (整数,可选):移动平均线年份(默认值:3)

19. get_player_game_highs

获得职业生涯最高的比赛和里程碑式的表现(40+分、50+分、三双)。

参数:

  • player_name (string,必填):玩家姓名
  • threshold_points (整数,可选):高分游戏的得分阈值(默认值:40)
  • include_triple_doubles (布尔值,可选):是否估计三双游戏

20. get_player_situational_splits

获取情景表现分割,包括主场/客场、休息日和输赢情况。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,可选):特定季节或无职业
  • split_type (字符串,可选):“home_away”、“rest_days”、“monthly”、“win_loss”

21. get_player_quarter_stats

获取每季度的表现,尤其是第四季度和加班统计数据。

参数:

  • player_name (string,必填):玩家姓名
  • season (整数,可选):特定季节或无职业
  • quarter (字符串,可选):“第一”、“第二”、“三”、“四”、“OT”或“全部”

22. get_player_milestone_tracker

跟踪职业里程碑的进展,并对成就进行预测。

参数:

  • player_name (string,必填):玩家姓名
  • milestone_type (字符串,可选):“得分”、“助攻”、“篮板”、“下午3点”、“比赛”

23. get_player_rankings

获取不同类别玩家的历史排名。

参数:

  • player_name (string,必填):玩家姓名
  • category (字符串,可选):“得分”、“助攻”、“篮板”、“下午3点”、“抢断”、“盖帽”

例子

以下是此MCP服务器可以回答的一些示例问题:

基本查询(第1层)

  1. 职业概述:“勒布朗·詹姆斯的职业生涯统计数据是多少?”
  2. 季节比较“斯蒂芬·库里在2016赛季的表现如何?”
  3. 球员比较:“比较迈克尔·乔丹和勒布朗·詹姆斯的职业生涯数据”
  4. 射击分析“库里的职业生涯投篮命中率是多少?”
  5. 高级指标“Nikola Jokić2023年的PER是多少?”
  6. 季后赛表现:“科怀·伦纳德的季后赛数据与常规赛相比如何?”
  7. 职业里程碑:“卡里姆·阿卜杜勒-贾巴尔的职业生涯亮点是什么?”
  8. Per-36统计数据“Giannis Antetokounmpo每36分钟的统计数据是什么?”

深度分析查询(第2层)

  1. 具体统计“斯蒂芬·库里在2018年的三分球命中率是多少?”
  2. 积分查询“斯蒂芬·库里在2024年的平均得分是多少?”
  3. 奖项:“勒布朗·詹姆斯在2020年的MVP投票中是在哪里完成的?”
  4. 游戏日志:“给我看看达米安·利拉德2021年季后赛的比赛记录”
  5. Vs团队:“凯文·杜兰特对阵湖人队的职业生涯数据是什么?”
  6. 每月“Jayson Tatum在2023年12月的表现如何?”
  7. 离合器:“凯里·欧文职业生涯的关键数据是什么?”
  8. 季后赛年“吉米·巴特勒在2020年季后赛中的表现如何?”

超深度分析查询(第3层)

  1. 职业发展趋势:“勒布朗·詹姆斯会随着年龄的增长而衰退吗?”
  2. 里程碑游戏“凯文·杜兰特有多少场40分的比赛?”
  3. 主页/离开“Joel Embiid在主场和客场的表现如何?”
  4. 第四季度“卢卡·唐契奇在第四节的平均得分是多少?”
  5. 里程碑跟踪:“勒布朗什么时候能拿到40000分?”
  6. 历史排名“库里的三分球命中率在历史上排名哪?”
  7. 情境的:“Giannis背对背的表现如何?”
  8. 季度细分:“Dame的分数中有多少是第四名?”

统计类型说明

  • PER_GAME:传统每场比赛的平均得分(得分、篮板、助攻等)
  • 总计:一个赛季或职业生涯的总统计数据
  • 每分钟:每36分钟统计数据(按比赛时间标准化)
  • PER_POSS:每100次拥有统计数据(按速度标准化)
  • 高级:高级指标(PER、TS%、WS、BPM、VORP等)

关键统计术语表

  • :球员效率评级
  • TS%:真实射击百分比
  • 操作系统:赢取股份
  • 每分钟节拍数:盒子加/减
  • VORP:价值高于替代球员
  • eFG百分比:有效现场目标百分比
  • 美元%:使用率
  • ORtg:进攻等级(每100次进攻得分)
  • DRtg:防御等级(每100次进攻允许得分)
  • 3P%:三分球命中率
  • FT%:罚球百分比
  • AST%:辅助百分比
  • REB%:回弹百分比

篮球参考刮刀修复

重要:The basketball_reference_scraper 图书馆与当前的篮球参考网站结构存在兼容性问题。此服务器包含针对这些问题的自动修复程序。

已修复的问题

  1. 表ID更改:Basketball Reference更新了他们的HTML表ID

- per_gameper_game_stats - totalstotals_stats - per_minuteper_minute_stats

  1. Pandas兼容性:修复了弃用警告 pd.read_html()
  1. 错误处理:改进对缺失数据和边缘情况的处理

当服务器通过启动时,修复程序会自动应用 fix_basketball_reference.py 模块。

完整修复详细信息

该修复涉及更新 basketball_reference_scraper/players.py 文件:

  1. 添加StringIO导入 (导入BeautifulSoup后):
   from io import StringIO
  1. 更新表ID映射 (in get_stats 功能):
   # Map old table IDs to new ones
   table_id_map = {
       'per_game': 'per_game_stats',
       'totals': 'totals_stats',
       'per_minute': 'per_minute_stats',
       'per_poss': 'per_poss_stats',
       'advanced': 'advanced'
   }
  1. 修复pandas read_html弃用问题:
   # Replace: df = pd.read_html(table)[0]
   df = pd.read_html(StringIO(table))[0]
  1. 处理缺失的职业行:
   career_rows = df[df['SEASON']=='Career'].index
   if len(career_rows) > 0:
       career_index = career_rows[0]
       # ... rest of logic

要将这些修复程序贡献回原始库,请参阅 贡献 部分。

开发指南

设置开发环境

  1. 创建虚拟环境:
   python -m venv venv
   source venv/bin/activate
  1. 安装依赖项:
   pip install -r requirements.txt

测试

# Run all tests
pytest

# Run with coverage
pytest --cov=src --cov-report=html

# Run specific test
pytest tests/test_integration.py -v

手动测试

测试修复模块:

python example_usage.py

常见测试用例

  1. 玩家名称变化:

- 精确匹配:“LeBron James”✓ - 案件敏感性:“lebron james”✗ - 部分名称:“LeBron”✗

  1. 边缘案例:

- 退役球员 - 没有季后赛经验的球员 - 历史球员(1973年前的高级统计数据)

代码风格指南

  1. Python风格:遵循政治公众人物8
  2. 错误处理:始终捕获特定的异常
  3. 数据处理:访问前检查空结果

扩展服务器

要添加新工具,请执行以下操作:

  1. 在中创建函数 server.py:
   @mcp.tool()
   async def get_player_new_stat(
       player_name: str,
       **kwargs
   ) -> Dict[str, Any]:
       """Tool description"""
       try:
           # Implementation
           pass
       except Exception as e:
           logger.error(f"Error: {e}")
           return {"error": str(e)}
  1. 与各种玩家进行彻底测试
  1. 用新的工具文档更新此README

已知问题

工作特点✅

  • 所有玩家统计工具在应用修复后都能正常运行
  • 玩家头像URL工作可靠

局限性⚠️

  1. 玩家姓名:必须完全符合basketball-reference.com格式

- ✓ “勒布朗·詹姆斯” - ✗ “勒布朗”或“勒布朗-詹姆斯”

  1. 历史数据:一些功能可能对旧季节的数据有限

- 1973-74年之前没有高级统计数据 - 职业生涯早期缺少一些投篮数据

  1. 图书馆限制:基础 basketball_reference_scraper 有:

- 无主动维护 - 错误处理不一致 - 文件有限

故障排除

“未找到表”错误

  • 原因:网站结构已更改
  • 修复:由Fix_basketball_reference.py自动应用

未找到玩家

  • 原因:名称格式不正确
  • 解决方案:使用basketball-reference.com中的确切名称

空结果

  • 原因:玩家没有所请求类型/赛季的统计数据
  • 解决方案:检查玩家的职业生涯和统计数据可用性

测试

运行测试套件:

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run with coverage
pytest --cov=src --cov-report=html

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

对篮球的贡献修复_reference_scraper

要将我们的修复程序贡献回原始库:

  1. 叉子:https://github.com/vishaalagartha/basketball_reference_scraper
  2. 应用以下更改 fix_basketball_reference.py
  3. 与各种玩家进行彻底测试
  4. 提交PR:“修复更新的basketball-reference.com结构的表解析”

更新日志

版本0.3.0(最新)

  • 添加了第3层超深度分析工具(6个新工具)
  • 职业发展趋势分析
  • 比赛高潮和里程碑追踪(40+分比赛,三双)
  • 情景分割(主场/客场、休息日、输赢)
  • 逐季度绩效分析
  • 里程碑预测和历史排名
  • 现在包括3层共23个工具

版本0.2.0

  • 添加了第2层深度分析工具(7个新工具)
  • 游戏日志和特定统计查询
  • 奖项和投票历史支持
  • 球队对决统计
  • 月度和时间划分
  • 离合器性能指标
  • 增强季后赛逐年分析

版本0.1.0

  • 初始版本包含10个核心玩家统计工具
  • Basketball-reference.com兼容性修复
  • 职业、季节和高级统计数据

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢

支持

有关问题和功能请求,请使用 .

目录标签

目录标签

PythonClaude数据分析NBA数据分析本地部署球员统计篮球研究高级指标数据可视化

支持客户端

Claude

接入字段

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

stdio

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

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiononeremote-capable

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

安装前确认

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

来源信息

继续浏览同类 MCP