这是一个使用Model Context Protocol (MCP)协议的服务器,提供来自The Odds API的NBA篮球赔率数据。
此MCP服务器使大型语言模型(如Claude)能够访问实时的NBA赔率数据。它提供了以下信息:
该服务器作为LLMs与The Odds API之间的桥梁,处理认证、数据格式化和错误处理。
设置Python 3.10或更高版本
# 使用pyenv(已设置)
pyenv local 3.10.13
创建并激活虚拟环境
python -m venv venv
source venv/bin/activate # 在Windows上:venv\Scripts\activate
安装依赖项
pip install "mcp[cli]" httpx
# 激活虚拟环境
source venv/bin/activate
# 运行服务器
python nba_odds_server.py
为了构建一个有意义的历史数据库进行趋势分析,请设置自动数据收集:
在项目目录中创建一个数据收集脚本(odds_collector.py),用于收集和存储赔率数据
设置cron作业以定期运行此脚本:
# 每天早上7:30收集
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
# 下午3:30收集(比赛日)
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
# 晚上8:30收集(比赛日及赛后)
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
编辑Claude Desktop配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json
添加以下配置:
{
"mcpServers": {
"nba-odds": {
"command": "/Users/nikhil/Documents/MCP_test/venv/bin/python",
"args": [
"/Users/nikhil/Documents/MCP_test/nba_odds_server.py"
]
}
}
}
重启Claude Desktop
提问如下问题:
服务器提供以下工具:
get_nba_info() - 提供关于NBA篮球类别的基本信息
get_nba_games(markets, regions) - 获取当前NBA比赛及其赔率
get_nba_championship_odds() - 获取当前NBA总冠军赔率
get_nba_team_stats(team_name) - 获取特定球队的即将比赛
simulate_nba_game(home_team, away_team) - 使用AI/ML模型模拟NBA比赛
simulate_championship_odds() - 使用1000个赛季模拟来模拟NBA总冠军赔率
simulate_season_remainder() - 模拟剩余的NBA赛季,包括季后赛
get_simulation_accuracy() - 获取先前比赛模拟的准确性统计
get_betting_recommendations(max_recommendations) - 根据赔率变动和历史趋势获取智能投注建议
analyze_team_ats_performance(team_name) - 分析球队的让分表现(ATS)
analyze_odds_movement(event_id, days) - 分析特定比赛的赔率变动情况
start_nba_quiz(category, difficulty, length) - 开始新的NBA知识竞赛游戏
answer_quiz_question(quiz_id, answer) - 回答正在进行的知识竞赛中的一个问题
get_daily_nba_question() - 获取每日NBA知识竞赛问题
answer_daily_nba_question(answer) - 回答每日NBA知识竞赛问题
get_nba_quiz_stats() - 获取NBA知识竞赛的表现统计
analyze_reverse_line_movement(days) - 分析从历史赔率数据中得出的反向线路变动模式
analyze_sharp_money_action(days, threshold) - 识别可能有大额资金动作的比赛
calculate_betting_strategy_roi(movement_type, days) - 计算基于线路变动的投注策略的历史回报率
create_line_movement_chart(game_id, team_name, days) - 创建显示线路变动对概率影响的图表
analyze_championship_odds_trend(team_name, days) - 分析球队的总冠军赔率随时间的变化
get_team_odds_history(team_name, days) - 获取特定球队的历史总冠军赔率数据
get_odds_tracking_stats() - 获取数据库中跟踪赔率数据的统计信息
generate_team_odds_chart(team_name, days) - 创建显示球队总冠军赔率变动的图表
generate_teams_comparison_chart(team_names, days) - 创建比较多个球队总冠军赔率的图表
generate_game_odds_chart(event_id) - 创建显示特定比赛赔率变动的图表
generate_bookmaker_comparison_chart(team_name, days) - 创建比较不同博彩公司的赔率的图表
服务器使用SQLite存储历史赔率数据,支持趋势分析:
服务器包括由Matplotlib驱动的强大可视化系统:
charts文件夹系统提供了赔率数据的自动化分析:
此服务器使用The Odds API(https://the-odds-api.com/),具有以下端点:
API密钥已包含在服务器配置中。
该项目仅供教育用途。