以色列梦幻NBA联盟MCP
一个模型上下文协议(MCP)服务器,提供工具用于访问我们的以色列幻想NBA联赛统计数据和排名。
描述
这个MCP服务器连接到一个特定的梦幻NBA联赛API(以色列梦幻NBA联赛),并提供工具来获取球队排名、球员统计数据和详细分析。
注: 这台服务器是为特定的私人联盟配置的,并连接到其专用的API端点。它不是适用于任何NBA梦幻联盟的通用工具——它是专为我们的联盟数据结构和API设计的。
特点
- 获取平均联赛排名获取包含详细统计数据的团队排名
- 按升序或降序排序 - 各分类的详细统计数据(投篮命中率%、罚球命中率%、三分球得分、助攻数、篮板数、抢断数、盖帽数、得分、比赛场次) - 各队的总积分及排名
- 获取 Teams获取联赛中所有球队的列表
- 获取平均统计数据以用户友好的格式获取团队统计数据,统计数据按类别映射
- 选项:检索原始数据或归一化数据(0-1范围) - 包括每支队伍的比赛场数(GP)
- 获取团队详情获取特定团队的全面详细信息
- 团队统计数据(总和与平均值) - 完整的球员名单及球员数据,包括上场时间 - ESPN球队页面URL - 投篮热图统计及排名信息 - 所有统计类别中的排名
- 获取所有玩家获取联盟中所有球员的综合统计数据
- 包括每位球员的上场时间和出场次数
- 获取联赛进球统计获取全联盟所有球队的投篮统计数据
先决条件
在使用此MCP服务器之前,您需要:
uv或者uvx一个快速的Python包安装器和运行器
- 从……安装 https://docs.astral.sh/uv/ 翻译为中文是:“https://astral.sh 的 uv 文档页面/” 或者更简洁地表达为:“astral.sh 的 uv 官方文档” - 在 macOS/Linux 上: curl -LsSf https://astral.sh/uv/install.sh | sh - 在Windows上: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
- 一个兼容MCP的客户端选择以下其中一项或类似选项:
- Claude Desktop(可译为“Claude桌面版”或根据上下文简化为“Claude桌面”) - 支持MCP的AI助手 - 光标 - 人工智能驱动的代码编辑器 - VSCode(Visual Studio Code,简称VSCode) 和,与 - 克林(Cline,人名,根据具体语境可译为“克林”或其他相应中文名字) - 用于AI辅助的VSCode扩展 - 任何其他兼容MCP的应用程序
使用方法
作为MCP服务器
此服务器可与任何兼容MCP的客户端(如Claude Desktop、Cursor、Cline、带有GitHub Copilot Chat的VSCode等)配合使用。请在您的客户端MCP设置文件中添加以下配置:
{
"mcpServers": {
"fantasynbaleague": {
"command": "uvx",
"args": ["fantasy-nba-israel-mcp@latest"]
}
}
}常见的配置文件位置:
- Claude Desktop(中文可译为“Claude桌面版”):
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) 或%APPDATA%\Claude\claude_desktop_config.json(Windows) - 光标:
.cursor/mcp.json在你的项目或全局设置中 - 克林(Cline,根据上下文,这可能是一个人名或特定名称的音译)使用MCP设置界面或进行编辑
cline_mcp_settings.json - VSCode(Visual Studio Code,简称VSCode):
.vscode/mcp.json在你的工作区
本地开发
对于本地开发和测试,您可以以开发模式运行MCP服务器:
uv run mcp dev fantasy_nba_israel_mcp/server.py这将启动一个交互式的MCP检查器,您可以在其中测试您的工具。
独立测试
from fantasy_nba_israel_mcp import mcp
# Run the MCP server
if __name__ == "__main__":
mcp.run()或者直接运行:
python -m fantasy_nba_israel_mcp可用工具
获取联赛平均排名
从API获取平均联赛排名。
参数:
order(str, 可选):排名的排序顺序
- "desc" 从最好到最差(顶级队伍优先)- 默认 - "asc" 从最差到最好(先从排名垫底的队伍开始)
返回: 一份包含各队排名、总积分及各类别统计数据的列表。
示例回复:
[
{
"team": {
"team_id": 1,
"team_name": "Team Name"
},
"fg_percentage": 0.456,
"ft_percentage": 0.789,
"three_pm": 12.5,
"ast": 24.3,
"reb": 45.6,
"stl": 8.2,
"blk": 5.4,
"pts": 112.3,
"gp": 55,
"total_points": 36,
"rank": 1
}
]获取团队列表
获取联赛中所有球队的列表。
参数: 无
返回值: 包含各队ID和名称的列表。
示例回复:
[
{
"team_id": 1,
"team_name": "First team example"
},
{
"team_id": 2,
"team_name": "Another team name"
}
]获取平均统计数据
以用户友好的格式获取所有球队的平均统计数据,统计数据按类别名称进行映射。
参数:
use_normalized(布尔值,可选):如果true,返回归一化数据(0-1范围)。如果false返回原始统计值。默认值为false。
返回值: 按类别名称映射各团队统计数据的列表。
示例回复:
[
{
"team": {
"team_id": 1,
"team_name": "First team example"
},
"stats": {
"FG%": 0.48532033,
"FT%": 0.80961071,
"3PM": 1.71184371,
"AST": 4.28449328,
"REB": 6.75579976,
"STL": 1.13919414,
"BLK": 0.72405372,
"PTS": 17.5970696,
"GP": 55
}
}
]获取团队详情
获取特定团队的全面详细信息,包括统计数据、队员名单和排名。
参数:
team_id(int): 要获取详细信息的团队ID
返回值: 全面的团队信息,包括团队统计数据、ESPN网址、投篮热图、排名以及完整阵容。
示例回复:
{
"team": {
"team_id": 1,
"team_name": "Team Name"
},
"espn_url": "https://fantasy.espn.com/basketball/team?leagueId=123&teamId=1",
"shot_chart": {
"team": {"team_id": 1, "team_name": "Team Name"},
"fgm": 14,
"fga": 23,
"fg_percentage": 0.608,
"ftm": 7,
"fta": 12,
"ft_percentage": 0.583,
"gp": 2
},
"raw_averages": {
"fg_percentage": 0.608,
"ft_percentage": 0.583,
"three_pm": 0.5,
"ast": 4.5,
"reb": 5.5,
"stl": 1.0,
"blk": 0.5,
"pts": 18.0,
"gp": 2,
"team": {"team_id": 1, "team_name": "Team Name"}
},
"ranking_stats": {
"team": {"team_id": 1, "team_name": "Team Name"},
"fg_percentage": 12.0,
"ft_percentage": 5.0,
"three_pm": 5.0,
"ast": 8.0,
"reb": 7.0,
"stl": 6.0,
"blk": 9.0,
"pts": 9.0,
"gp": 2,
"total_points": 61.0,
"rank": 6
},
"category_ranks": {
"FG%": 12,
"FT%": 5,
"3PM": 5,
"AST": 8,
"REB": 7,
"STL": 6,
"BLK": 9,
"PTS": 9
},
"players": [
{
"player_name": "LeBron James",
"pro_team": "LAL",
"positions": ["SF", "PF"],
"stats": {
"pts": 25.4,
"reb": 7.3,
"ast": 7.4,
"stl": 1.3,
"blk": 0.5,
"fgm": 9.5,
"fga": 18.5,
"ftm": 4.8,
"fta": 6.3,
"fg_percentage": 0.513,
"ft_percentage": 0.762,
"three_pm": 2.1,
"minutes": 35.2,
"gp": 55
},
"team_id": 1
}
]
}获取所有玩家
获取联盟中所有球员的全面统计数据。
参数: 无
返回值: 一份包含所有球员及其统计数据和所属球队的名单。
示例回复:
[
{
"player_name": "LeBron James",
"pro_team": "LAL",
"positions": ["SF", "PF"],
"team_id": 1,
"stats": {
"pts": 25.4,
"reb": 7.3,
"ast": 7.4,
"stl": 1.3,
"blk": 0.5,
"fgm": 9.5,
"fga": 18.5,
"ftm": 4.8,
"fta": 6.3,
"fg_percentage": 0.513,
"ft_percentage": 0.762,
"three_pm": 2.1,
"minutes": 35.2,
"gp": 55
}
}
]获取联赛射门统计数据
获取全联盟所有球队的投篮统计数据。
参数: 无
返回值: 联盟范围内的投篮统计,包括每支球队的投篮命中率和罚球数据。
示例回复:
{
"shots": [
{
"team": {
"team_id": 1,
"team_name": "Team Name"
},
"fgm": 14,
"fga": 23,
"fg_percentage": 0.608,
"ftm": 7,
"fta": 12,
"ft_percentage": 0.583,
"gp": 2
},
{
"team": {
"team_id": 2,
"team_name": "Another Team"
},
"fgm": 12,
"fga": 20,
"fg_percentage": 0.600,
"ftm": 8,
"fta": 10,
"ft_percentage": 0.800,
"gp": 2
}
]
}要求
- Python >= 3.10(Python版本大于等于3.10)
- httpx 版本大于等于 0.28.1
- mcp\[cli\] 版本大于等于 1.18.0
发展
在本地运行服务器以进行开发和测试:
# Install dependencies
uv sync
# Run in development mode with MCP inspector
uv run mcp dev fantasy_nba_israel_mcp/server.pyMCP 检查器将提供一个交互式界面,用于测试您的所有工具。
作者
阿萨夫·沙伊(邮箱:asafshai211@gmail.com)
支持
对于问题和疑问,请在GitHub仓库上提交一个议题。
