Integrations
Odds Adjusters

MCP Integration for Odds Adjusters

AI-powered odds management and risk analysis using the Model Context Protocol.

Overview

The AltSportsData MCP server provides odds adjusters with intelligent tools for:

  • Real-time Data Analysis - Live match statistics and event tracking
  • Market Intelligence - Sharp money detection and line movement
  • Player Impact Assessment - Injury and lineup impact on odds
  • Historical Trends - Head-to-head and performance analytics
  • Risk Calculation - Exposure analysis and hedge suggestions

Quick Setup

Configure for Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "altsportsdata-odds": {
      "command": "npx",
      "args": ["-y", "@altsportsdata/mcp-server"],
      "env": {
        "API_KEY": "your-odds-adjuster-api-key",
        "ROLE": "odds_adjuster",
        "REAL_TIME_UPDATES": "true"
      }
    }
  }
}

Available Tools

1. Analyze Line Movement

Track and analyze betting line movements across markets.

{
  "name": "analyze_line_movement",
  "arguments": {
    "match_id": "nba-2024-lakers-vs-celtics",
    "market_type": "spread",
    "timeframe": "24h"
  }
}

Response:

{
  "current_line": {
    "spread": -5.5,
    "juice": -110
  },
  "opening_line": {
    "spread": -4.0,
    "juice": -110
  },
  "movement": {
    "direction": "away",
    "magnitude": 1.5,
    "velocity": "rapid",
    "volume_profile": "sharp_action"
  },
  "recommendations": {
    "action": "hold_or_adjust",
    "confidence": 0.78,
    "reasoning": "Heavy sharp money on Celtics, consider widening spread"
  }
}

2. Assess Player Impact

Calculate odds impact when key players are injured or benched.

{
  "name": "assess_player_impact",
  "arguments": {
    "match_id": "nfl-2024-chiefs-vs-bills",
    "player": "Patrick Mahomes",
    "status": "questionable",
    "position": "QB"
  }
}

3. Get Sharp Action Alerts

Identify when sharp bettors are taking positions.

{
  "name": "detect_sharp_action",
  "arguments": {
    "sport": "soccer",
    "league": "epl",
    "timeframe": "2h",
    "threshold": "high"
  }
}

4. Calculate Fair Odds

Generate fair odds based on statistical models.

{
  "name": "calculate_fair_odds",
  "arguments": {
    "match_id": "mlb-2024-yankees-vs-redsox",
    "factors": [
      "recent_form",
      "head_to_head",
      "pitcher_matchup",
      "weather",
      "injuries"
    ],
    "model": "ensemble"
  }
}

5. Monitor Market Efficiency

Compare your odds to market consensus and identify inefficiencies.

{
  "name": "compare_to_market",
  "arguments": {
    "match_id": "nba-2024-001",
    "your_odds": {
      "moneyline": {"home": -150, "away": +130},
      "spread": {"line": -3.5, "juice": -110}
    },
    "compare_to": ["pinnacle", "circa", "draftkings"]
  }
}

Odds Adjuster Workflows

Workflow 1: Pre-Game Line Setting

User: "Set opening lines for tonight's NBA slate"

AI Agent (using MCP):
1. Retrieves matchups with get_schedule
2. Calculates fair odds with calculate_fair_odds
3. Analyzes injury reports with assess_player_impact
4. Reviews historical performance with get_h2h_stats
5. Suggests opening lines with market positioning

Result: Recommended opening lines with confidence levels

Workflow 2: In-Game Adjustment

User: "Lakers just went up 15 points in the 3rd quarter, adjust live odds"

AI Agent (using MCP):
1. Gets live match state with get_live_match
2. Calculates win probability with calculate_live_probability
3. Analyzes momentum with assess_game_momentum
4. Suggests odds adjustment with recommend_live_odds
5. Calculates new exposure with update_risk_profile

Result: Real-time odds recommendations with risk analysis

Workflow 3: Sharp Action Response

User: "We're seeing sharp money on Celtics +5.5"

AI Agent (using MCP):
1. Analyzes betting patterns with detect_sharp_action
2. Reviews current line with analyze_line_movement
3. Compares to market with compare_to_market
4. Assesses if move justified with validate_sharp_action
5. Recommends line adjustment or hold

Result: Data-driven decision on whether to move line

Workflow 4: Injury Impact Assessment

User: "Starting QB just ruled out 30 minutes before kickoff"

AI Agent (using MCP):
1. Assesses player impact with assess_player_impact
2. Analyzes backup performance with get_backup_stats
3. Reviews historical similar situations with find_comparable_situations
4. Calculates odds adjustment with calculate_injury_adjustment
5. Suggests new lines and market suspension strategy

Result: Immediate odds adjustment plan with risk mitigation

Key Metrics & Indicators

Line Movement Indicators

IndicatorDescriptionAction Threshold
Volume VelocitySpeed of money coming in>80% in <2 hours
Sharp Money %Percentage from known sharps>40% of total handle
Reverse Line MovementLine moves against public money>70% public on losing side
Steam MoveCoordinated sharp actionMultiple books move simultaneously

Player Impact Factors

// Impact weighting by sport and position
{
  "basketball": {
    "PG": 0.35,  // Point Guard
    "SG": 0.25,  // Shooting Guard
    "C": 0.30    // Center
  },
  "football": {
    "QB": 0.50,  // Quarterback
    "RB": 0.20,  // Running Back
    "WR": 0.15   // Wide Receiver
  },
  "hockey": {
    "G": 0.45,   // Goalie
    "C": 0.25,   // Center
    "D": 0.20    // Defense
  }
}

Statistical Models

Ensemble Modeling

The MCP server uses multiple statistical models:

  1. Regression Models - Linear and logistic regression
  2. Machine Learning - Random forests, gradient boosting
  3. Bayesian Models - Prior probability updates
  4. Consensus Models - Market-implied probabilities
  5. Custom Rules - Sport-specific adjustments

Win Probability Calculation

{
  "name": "calculate_win_probability",
  "arguments": {
    "match_state": {
      "sport": "basketball",
      "time_remaining": "8:23",
      "quarter": 4,
      "score_differential": 8,
      "possession": "home",
      "timeouts_remaining": {"home": 2, "away": 3}
    },
    "pregame_probability": 0.65,
    "momentum_factor": true
  }
}

Risk Management

Exposure Monitoring

{
  "name": "monitor_position",
  "arguments": {
    "match_id": "nfl-2024-001",
    "markets": ["spread", "total", "moneyline"],
    "alert_threshold": 50000
  }
}

Alerts Include:

  • Correlated parlay exposure
  • Single-game concentrated risk
  • Season-long liability tracking
  • Cross-sport risk correlation

Hedge Recommendations

{
  "name": "suggest_hedges",
  "arguments": {
    "exposure": {
      "match_id": "nba-2024-001",
      "liability": 75000,
      "market": "moneyline"
    },
    "hedge_options": ["exchange", "market_maker", "retail"]
  }
}

Market Intelligence

Sharp Bettor Profiling

Track patterns from known sharp bettors:

  • Bet timing (close to game time often sharper)
  • Bet sizing (max bets indicate strong position)
  • Success rate (historical win rate)
  • Market impact (how often they move lines)

Public vs Sharp Money

{
  "name": "analyze_bet_splits",
  "arguments": {
    "match_id": "nfl-2024-001",
    "split_types": ["ticket_count", "money_percentage", "sharp_action"]
  }
}

Response Example:

{
  "public_side": {
    "team": "Cowboys",
    "ticket_percentage": 78,
    "money_percentage": 65
  },
  "sharp_side": {
    "team": "Eagles",
    "sharp_percentage": 82,
    "average_bet_size": "$5,200"
  },
  "recommendation": "Consider reverse line movement - sharps on Eagles despite public on Cowboys"
}

Integration Examples

TypeScript Integration

import { MCPClient } from '@modelcontextprotocol/sdk';
 
const oddsClient = new MCPClient({
  serverUrl: 'http://localhost:3000/mcp',
  apiKey: process.env.ODDS_ADJUSTER_API_KEY,
  role: 'odds_adjuster'
});
 
// Analyze line movement
const lineAnalysis = await oddsClient.call('analyze_line_movement', {
  match_id: 'nba-2024-lakers-vs-celtics',
  market_type: 'spread',
  timeframe: '24h'
});
 
// Calculate fair odds
const fairOdds = await oddsClient.call('calculate_fair_odds', {
  match_id: 'mlb-2024-001',
  factors: ['recent_form', 'pitcher_matchup', 'weather']
});

Python Integration

from altsportsdata_mcp import MCPClient
 
client = MCPClient(
    api_key=os.getenv('ODDS_ADJUSTER_API_KEY'),
    role='odds_adjuster'
)
 
# Detect sharp action
sharp_action = client.call_tool('detect_sharp_action', {
    'sport': 'soccer',
    'league': 'epl',
    'timeframe': '2h'
})
 
# Assess player impact
impact = client.call_tool('assess_player_impact', {
    'match_id': 'nfl-2024-001',
    'player': 'Patrick Mahomes',
    'status': 'out'
})

Example Prompts

Line Analysis

"Analyze line movement for tonight's Lakers game"
"Why did the Celtics spread move from -4 to -6?"
"Show me sharp action in the Premier League today"

Odds Calculation

"Calculate fair odds for Chiefs vs Bills considering Mahomes injury"
"What should the total be for this baseball game given the weather?"
"Compare our NBA lines to Pinnacle and Circa"

Risk Management

"What's our exposure on the Lakers moneyline?"
"Suggest hedges for our NFL Sunday liability"
"Alert me when sharp action exceeds $100k on any game"

Live Adjustments

"Team just scored, adjust live odds"
"Starting pitcher pulled in the 3rd inning, new odds?"
"Calculate win probability with 5 minutes left in the game"

Best Practices

Line Movement Response

  1. Verify the Source: Is it sharp money or public?
  2. Check Market Consensus: Are other books moving?
  3. Assess Game Context: Is there news justifying the move?
  4. Calculate Risk: What's current exposure?
  5. Act Decisively: Move line or stand firm with conviction

In-Game Adjustments

  • Update odds every 30-60 seconds for major sports
  • Suspend markets during critical moments
  • Consider momentum and game script
  • Monitor for unusual betting patterns
  • Have predefined thresholds for auto-suspension

Model Trust Levels

  • High Confidence (>80%): Use model recommendations directly
  • Medium Confidence (60-80%): Combine model with market consensus
  • Low Confidence (<60%): Rely more on market positioning

Advanced Features

Custom Model Integration

{
  "name": "add_custom_factor",
  "arguments": {
    "factor_name": "home_court_advantage_playoff",
    "sport": "basketball",
    "weight": 0.15,
    "conditions": ["playoffs", "home_team"]
  }
}

Automated Line Movement Rules

{
  "name": "set_movement_rules",
  "arguments": {
    "trigger": {
      "sharp_money_threshold": 50000,
      "time_before_game": "2h"
    },
    "action": {
      "move_line": 0.5,
      "adjust_juice": -5,
      "notify_trader": true
    }
  }
}

Multi-Market Correlation

{
  "name": "analyze_market_correlation",
  "arguments": {
    "markets": ["spread", "total", "moneyline"],
    "match_id": "nba-2024-001",
    "check_arbitrage": true
  }
}

Troubleshooting

Common Issues

Issue: Model recommendations seem off

Solutions:

  • Verify all input data is current
  • Check for recent lineup changes
  • Review weather or venue changes
  • Compare to market consensus
  • Adjust model weights for specific situations

Issue: Sharp action not detected

Solutions:

  • Lower detection threshold temporarily
  • Verify sharp bettor profiles are updated
  • Check data feed latency
  • Review bet sizing filters

Issue: Live odds lagging

Solutions:

  • Optimize calculation frequency
  • Use simpler models for live betting
  • Cache static factors
  • Implement push notifications for game events

Support Resources

Next Steps

Configure MCP Integration

Set up the MCP server for odds adjustment workflows

Setup Guide β†’

Explore API Endpoints

Review all available odds and market data endpoints

API Reference β†’

Platform

Documentation

Community

Support

partnership@altsportsdata.comdev@altsportsleagues.ai

2025 Β© AltSportsLeagues.ai. Powered by AI-driven sports business intelligence.

πŸ€– AI-Enhancedβ€’πŸ“Š Data-Drivenβ€’βš‘ Real-Time