mcpField
N
NBA Odds MCP Server

NBA Odds MCP Server

本地服务
github.com/nikhilkichili数据与分析473 周前更新

关于 NBA Odds MCP Server

NBA Odds MCP Server 通过 The Odds API 提供 NBA 下注赔率及相关分析。它将当前与历史赔率工具结合起来,并提供模拟、趋势分析、图表和问答功能。

主要功能

  1. 01获取比赛和冠军赔率
  2. 02模拟比赛和赛季结果
  3. 03分析盘口变化和下注趋势
  4. 04在 SQLite 中保存历史赔率
  5. 05生成赔率图表和对比图
  6. 06进行 NBA 知识问答

适用场景

  1. 01查看比赛或冠军的当前赔率
  2. 02探索球队或赛事的历史赔率变化
  3. 03通过图表比较博彩公司赔率
  4. 04进行 NBA 知识问答

MCP 相关

向 MCP 客户端提供赔率查询、模拟、分析、可视化和问答工具。赔率来自 The Odds API,历史数据保存在 SQLite 中。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

NBA 赔率 MCP 服务

一个从 The Odds API 提供 NBA 篮球赔率数据的模型上下文协议(MCP)服务。

概述

此 MCP 服务让 Claude 等大模型能够访问实时 NBA 赔率数据。它提供以下信息:

  • 当前 NBA 比赛及其投注赔率
  • NBA 冠军得主赔率
  • 特定球队的比赛日程
  • NBA 联盟基本信息

该服务充当大模型与 The Odds API 之间的桥梁,负责处理身份验证、数据格式化和错误处理。

要求

  • Python 3.10 或更高版本
  • The Odds API 密钥(已包含在服务中)
  • 兼容 MCP 的客户端(Claude Desktop 等)
  • 用于可视化的 Matplotlib、NumPy 和 Pillow

安装

  1. 设置 Python 3.10 或更高版本

    # Using pyenv (already set up)
    pyenv local 3.10.13
    
  2. 创建并激活虚拟环境

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 安装依赖项

    pip install "mcp[cli]" httpx
    

用法

运行服务
# Activate the virtual environment
source venv/bin/activate

# Run the server
python nba_odds_server.py
自动化数据收集

要构建有意义的历史数据库以进行趋势分析,请设置自动化数据收集:

  1. 在项目目录中创建数据收集脚本(odds_collector.py),用于收集和存储赔率数据

  2. 设置 cron 作业,以定期运行此脚本:

# Daily collection at 7:30 AM
30 7 * * * cd /Users/nikhil/Documents/MCP_test && /Users/nikhil/Documents/MCP_test/venv/bin/python odds_collector.py >> /Users/nikhil/Documents/MCP_test/collection_log.txt 2>&1

# Collection at 3:30 PM (for game days)
30 15 * * * cd /Users/nikhil/Documents/MCP_test && /Users/nikhil/Documents/MCP_test/venv/bin/python odds_collector.py >> /Users/nikhil/Documents/MCP_test/collection_log.txt 2>&1

# Collection at 8:30 PM (for game days and post-game)
30 20 * * * cd /Users/nikhil/Documents/MCP_test && /Users/nikhil/Documents/MCP_test/venv/bin/python odds_collector.py >> /Users/nikhil/Documents/MCP_test/collection_log.txt 2>&1
  1. 建议的收集频率:
    • 每日基准数据收集(早晨)
    • 比赛日赛前数据收集(下午)
    • 赛后数据收集,用于分析市场反应(晚上)
配置 Claude Desktop
  1. 编辑 Claude Desktop 配置文件:

    ~/Library/Application Support/Claude/claude_desktop_config.json
    
  2. 添加以下配置:

    {
      "mcpServers": {
        "nba-odds": {
          "command": "/Users/nikhil/Documents/MCP_test/venv/bin/python",
          "args": [
            "/Users/nikhil/Documents/MCP_test/nba_odds_server.py"
          ]
        }
      }
    }
    
  3. 重启 Claude Desktop

测试服务

尝试询问以下问题:

  • “当前 NBA 冠军赔率是多少?”
  • “显示即将举行的 NBA 比赛”
  • “哪支球队最有希望赢得 NBA 冠军?”
  • “告诉我今天有哪些 NBA 比赛”
  • “模拟一场湖人队与凯尔特人队的比赛”

可用工具

该服务提供以下工具:

NBA 基本数据工具
  1. get_nba_info() - 提供 NBA 篮球类别的基本信息

  2. get_nba_games(markets, regions) - 获取当前 NBA 比赛及其赔率

    • 参数:
      • markets:以逗号分隔的市场列表(h2h、spreads、totals)
      • regions:以逗号分隔的地区列表(us、uk、eu、au)
  3. get_nba_championship_odds() - 获取当前 NBA 冠军得主赔率

  4. get_nba_team_stats(team_name) - 获取特定球队即将举行的比赛

    • 参数:
      • team_name:NBA 球队名称
模拟工具
  1. simulate_nba_game(home_team, away_team) - 使用 AI/ML 模型模拟一场 NBA 比赛

    • 参数:
      • home_team:主队名称
      • away_team:客队名称
  2. simulate_championship_odds() - 通过 1000 次赛季模拟计算 NBA 冠军赔率

  3. simulate_season_remainder() - 模拟 NBA 赛季剩余赛程,包括季后赛

  4. get_simulation_accuracy() - 获取以往比赛模拟的准确率统计数据

投注分析工具
  1. get_betting_recommendations(max_recommendations) - 根据赔率变动和历史趋势获取智能投注建议

    • 参数:
      • max_recommendations:返回的建议数量上限(默认值:3)
  2. analyze_team_ats_performance(team_name) - 分析球队对让分盘(ATS)的表现

    • 参数:
      • team_name:要分析的 NBA 球队名称
  3. analyze_odds_movement(event_id, days) - 分析特定比赛的投注赔率变动情况

    • 参数:
      • event_id:赛事标识符
      • days:回溯的天数(默认值:7)
NBA 竞猜游戏工具
  1. start_nba_quiz(category, difficulty, length) - 开始一场新的 NBA 竞猜游戏

    • 参数:
      • category:问题类别(random、nba_history、current_nba、nba_stats、nba_rules、championships)
      • difficulty:难度等级(rookie、veteran、all-star、hall-of-fame、mixed)
      • length:问题数量(默认值:5)
  2. answer_quiz_question(quiz_id, answer) - 回答正在进行的竞猜中的问题

    • 参数:
      • quiz_id:当前竞猜的 ID
      • answer:用户选择的答案
  3. get_daily_nba_question() - 获取每日 NBA 竞猜问题

  4. answer_daily_nba_question(answer) - 回答每日 NBA 竞猜问题

    • 参数:
      • answer:用户选择的答案
  5. get_nba_quiz_stats() - 获取 NBA 竞猜游戏的表现统计数据

盘口变动分析工具
  1. analyze_reverse_line_movement(days) - 根据历史赔率数据分析反向盘口变动模式

    • 参数:
      • days:要分析的历史数据天数(默认值:30)
  2. analyze_sharp_money_action(days, threshold) - 找出可能存在专业资金投注的比赛

    • 参数:
      • days:要分析的天数(默认值:30)
      • threshold:纳入考虑的最低概率变化(默认值:3%)
  3. calculate_betting_strategy_roi(movement_type, days) - 根据盘口变动计算投注策略的历史 ROI

    • 参数:
      • movement_type:要分析的变动类型(reverse、sharp)
      • days:要分析的天数(默认值:90)
  4. create_line_movement_chart(game_id, team_name, days) - 创建显示盘口变动对概率影响的图表

    • 参数:
      • game_id:要分析的特定比赛(可选;输入 "help" 查看可用比赛)
      • team_name:要筛选的球队名称(可选)
      • days:未指定特定比赛或球队时要分析的天数
赔率追踪与分析工具
  1. analyze_championship_odds_trend(team_name, days) - 分析某支球队的夺冠赔率随时间的变化

    • 参数:
      • team_name:要分析的 NBA 球队名称
      • days:回溯天数(默认值:30)
  2. get_team_odds_history(team_name, days) - 获取特定球队的历史夺冠赔率数据

    • 参数:
      • team_name:NBA 球队名称
      • days:要检索的历史数据天数(默认值:30)
  3. get_odds_tracking_stats() - 获取数据库中追踪的赔率数据统计信息

可视化工具
  1. generate_team_odds_chart(team_name, days) - 创建显示某支球队夺冠赔率变化的图表

    • 参数:
      • team_name:要绘制图表的 NBA 球队名称
      • days:图表包含的天数(默认值:30)
  2. generate_teams_comparison_chart(team_names, days) - 创建比较多支球队夺冠赔率的图表

    • 参数:
      • team_names:要比较的球队名称列表,以逗号分隔
      • days:图表包含的天数(默认值:30)
  3. generate_game_odds_chart(event_id) - 创建显示特定比赛赔率变化的图表

    • 参数:
      • event_id:要绘制图表的比赛/赛事 ID
  4. generate_bookmaker_comparison_chart(team_name, days) - 创建比较不同博彩公司赔率的图表

    • 参数:
      • team_name:要分析的 NBA 球队名称
      • days:图表包含的天数(默认值:30)

数据存储与可视化

SQLite 数据库

该服务使用 SQLite 存储历史赔率数据,以便进行趋势分析:

  • 冠军赔率表:追踪球队夺冠赔率随时间的变化
  • 比赛赔率表:追踪单场比赛赔率和盘口变动
  • 自动存储:所有 API 请求都会自动将数据存入数据库
可视化系统

该服务包含由 Matplotlib 驱动的强大可视化系统:

  • 图表目录:所有生成的图表都保存在 charts 文件夹中
  • Base64 嵌入:图表以 Base64 编码的图像形式返回,以便在大模型响应中显示
  • 图表类型:
    • 团队赔率趋势图
    • 多支球队对比图
    • 比赛赔率变动图
    • 博彩公司对比图
数据分析

该系统可自动分析赔率数据:

  • 趋势检测(上升、下降、稳定)
  • 博彩公司差异分析
  • 历史赔率变动模式
  • 赔率显著变化的可视化指标

API 信息

该服务使用 The Odds API (https://the-odds-api.com/),并调用以下端点:

  • GET /sports - 列出所有体育类别
  • GET /sports/{sport_key}/odds - 获取特定体育项目的赔率
  • GET /sports/{sport_key}/events/{event_id}/odds - 获取特定赛事的赔率

API 密钥已包含在服务配置中。

故障排除

  • 服务无法启动:确保已安装 Python 3.10+,并已激活虚拟环境
  • MCP 客户端无法连接:检查配置文件的路径和格式
  • API 错误:确认 API 密钥有效,并检查是否受到速率限制

许可证

本项目仅用于教育目的。

致谢

  • 感谢 The Odds API 提供体育博彩数据
  • 感谢 Model Context Protocol(MCP)提供服务框架

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。