NBA投注分析服务器

一个基于模型上下文协议(MCP)的服务器,用于获取NBA比赛数据、球员统计和投注赔率,并通过基于记录的优势分析推荐投注组合。

  • by nrgupta
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 nrgupta/nba-mcp-server

使用说明

NBA投注分析MCP服务器

一个模型上下文协议(MCP)服务器,它获取今天的NBA比赛、球员统计数据和投注赔率,然后使用基于记录的边缘分析来得分和推荐说法。


建筑

nba_mcp_server.py

MCP服务器。包含 NBADataFetcher 类并公开5个工具

工具 说明
fetch_nba_games 今天的NBA赛程,包括球队记录和比赛时间
fetch_nba_stats 今天名单上所有球员的最后5场比赛平均值
fetch_betting_odds 多个体育博彩的收入、点差和总计(过滤到今天的比赛)
build_parlay 根据球队记录,从今天的前5场比赛中构建两个推荐的说法
analyze_bets 完整报告:游戏细分、价值优势、两种说法以及形式上的顶级玩家

daily_report.py

呼叫 analyze_bets 并向Gmail发送格式化的HTML电子邮件。通过launchd计划每天下午3:30运行。


Parlay大楼的工作原理

游戏选择

在构建术语之前,游戏会被过滤到 按组合球队排名前5位获胜百分比 (家+外地)。这可以保持最佳匹配并限制搜索空间。

边缘评分

每个游戏线(金钱线、点差、总计)都使用调整后的边缘公式进行评分:

adjusted_win_pct  = season win% + 0.03 (home team bonus)
raw_edge          = adjusted_win_pct − implied probability from odds
opponent_factor   = 0.5 + opponent_win_pct   (range 0.5–1.5)
final_edge        = raw_edge × opponent_factor
  • 回家/离开:主队获得+3pp的提升,反映了NBA历史上约60%的主场获胜率
  • 对手实力:当战胜强劲对手时,优势就会扩大

仅当满足以下条件时,才包括Moneyline和点差候选者 edge > 0.03.总金额(超过/低于)总是包括在内,以备不时之需。

穷举搜索

服务器尝试的不是贪婪的选择 每个有效组合 最多4条腿(每场比赛一条腿),并选择在目标赔率范围内具有最高总优势的组合。

从同一候选人库中构建了两种说法:

Parlay 目标赔率
更安全的说法 -150到+100
龙肖语 +200至+300

数据源

  • NBA赛程+记录:NBA统计API(stats.nba.com/stats/scoreboardV2)
  • 玩家数据:NBA统计API(stats.nba.com/stats/leaguedashplayerstats)--最后5场比赛
  • 投注赔率:赔率API-累计20多个体彩,市场: h2h, spreads, totals

设置

1.安装依赖项

pip install httpx mcp

2.添加您的API密钥

在 nba_mcp_server.py:

ODDS_API_KEY = "your-odds-api-key-here"

获取钥匙 the-odds-api.com免费等级:每月500次请求。

3.配置克劳德桌面

苹果电脑: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "nba-betting": {
      "command": "python3",
      "args": ["/Users/neilgupta/Desktop/NBA-MCP/nba_mcp_server.py"]
    }
  }
}

保存后重新启动Claude Desktop。


每日电子邮件报告

daily_report.py 跑 analyze_bets 并发送一封HTML电子邮件,其中包含:

  • 逐局细分(记录、隐含概率、优势、最佳线)
  • 更安全的措辞建议(-150至+100)
  • Longshot术语推荐(+200至+300)
  • 排名前20的选手(按综合成绩排名)

Gmail设置

在 daily_report.py:

GMAIL_ADDRESS = "your@gmail.com"
GMAIL_APP_PASSWORD = "your-app-password"

在以下位置生成应用程序密码:谷歌帐户→ 安全→ 2-步骤验证→ 应用程序密码。

时间表(launchd)

该报告是通过launchd(而不是cron)安排的,因此即使Mac在下午3:30睡着,它也会运行——一旦Mac醒来,它就会启动。

Plist位置: ~/Library/LaunchAgents/com.neilgupta.nba-report.plist

要在更改后重新加载,请执行以下操作:

launchctl unload ~/Library/LaunchAgents/com.neilgupta.nba-report.plist
launchctl load ~/Library/LaunchAgents/com.neilgupta.nba-report.plist

要手动运行,请执行以下操作:

python3 /Users/neilgupta/Desktop/NBA-MCP/daily_report.py

球员形态得分

玩家在最后5场比赛中按照幻想风格的综合得分进行排名:

form_score = PTS + (REB × 1.2) + (AST × 1.5) + (STL × 3) + (BLK × 3)

这是信息性的——它不会直接影响措辞选择。


重要提示

  • 无玩家道具:赔率API玩家道具市场需要付费计划。牌坊仅由游戏关卡线(货币线、点差、总计)构建。
  • 仅限今天的游戏:所有数据都会根据今天安排的比赛进行筛选。
  • 责任赌博:此工具用于信息和教育目的。不是财务建议。总是负责任地赌博。
  • API限值:赔率API免费等级有每月限额。监控使用情况 the-odds-api.com.
  • 法律合规:确保体育博彩在您的管辖范围内是合法的。

故障排除

今天没有比赛NBA有休息日——查看赛程表(赛季从10月持续到6月)。

已达到API赔率限制:达到每月配额。等到下个月,或者升级你的计划。

电子邮件未发送:验证您的Gmail应用程序密码,并启用两步验证。

Parlay返回“N/A”:今天的前5场比赛没有任何组合落在目标赔率范围内。更多的游戏可以提高覆盖率。