Sports Betting MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPORTS_BETTING_API_KEY | Yes |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_todays_picksA | Get today's AI-generated picks with confidence and edge scores. Args: sport: Filter by sport — 'nba', 'nhl', 'ncaab', 'mlb', or 'all' (default) Returns: List of picks with pick name, bet type, line, odds, confidence, and edge score. |
| get_top_pickA | Get the single highest-confidence pick available today. Args: sport: Filter by sport — 'nba', 'nhl', 'ncaab', 'mlb', or 'all' (default) Returns: The best pick with full analysis details. |
| get_live_oddsA | Get current live odds for a sport from FanDuel and BetMGM. Args: sport: Sport to fetch — 'nba', 'nhl', 'ncaab', or 'mlb' Returns: Live moneyline, spread, and total odds for today's games. |
| get_win_rateA | Get the betting analyzer's documented win rate with real resolved picks. Args: period: Time period — 'all', '30d', or '90d' Returns: Win rate, record, and breakdown by sport. |
| get_pending_picksA | Get all currently unresolved (pending) picks waiting for game results. Returns: List of pending picks with pick details and how long they've been pending. |
| get_completed_picksA | Get recently completed (resolved) picks with results. Args: limit: Number of recent completed picks to return (default 20, max 50) Returns: List of completed picks with results (W/L) and details. |
| get_model_statsB | Get model performance statistics — win rates by confidence level, total picks, discipline. Returns: Model stats including total picks, last 20 win rate, and confidence tier breakdown. |
| analyze_gameA | Run full multi-agent analysis on a specific game. Uses 12 specialized agents to evaluate every angle. Args: sport: Sport — 'nba', 'nhl', 'ncaab', or 'mlb' game_id: Game ID from the get_live_odds tool Returns: Complete multi-agent analysis with consensus pick, confidence, and edge breakdown. |
| get_system_statusA | Health check — uptime, database status, API key status, and scheduler health. Returns: Current system status including uptime, DB connectivity, and service health. |
| get_alertsA | Get active alerts from the multi-agent system (line movements, injury impacts, etc.). Returns: List of current alerts with severity and details. |
| get_leaderboardA | Get the pick leaderboard showing user rankings by win rate. Returns: Leaderboard with rankings, win rates, and total picks per user. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a distinct function: odds retrieval, game analysis, pick management (today, top, pending, completed), alerts, model stats, leaderboard, win rate, and system health. No two tools overlap in purpose.
Ten of eleven tools follow the 'get_' prefix pattern (e.g., get_live_odds, get_todays_picks). The sole exception is 'analyze_game', which uses a verb_noun form. This is a minor deviation but still predictable and clear.
With 11 tools, the set is well-scoped for a sports betting analysis server. It covers all essential features without being bloated or sparse.
The tool surface covers the full workflow: fetching odds, analyzing games, retrieving picks (today, top, pending, completed), alerts, model stats, leaderboard, win rate, and system health. A minor gap is the lack of historical pick search or user-specific features, but core analysis is complete.