Fantasy MCP
Multi-agent parlay optimization system using CrewAI to analyze games, evaluate props, and construct optimal parlay combinations.
README
Fantasy MCP - Multi-Agent Parlay Optimization System
A sophisticated AI-powered betting advisor featuring a multi-agent architecture built with CrewAI. Four specialized AI agents collaborate to analyze games, evaluate props, and construct optimal parlay combinations.
๐ฏ Overview
This system uses CrewAI to orchestrate multiple specialized agents that work together to provide intelligent, high-confidence parlay recommendations. The agents analyze player availability, run ML predictions, optimize parlay combinations, and validate recommendations for quality and accuracy.
๐ค Multi-Agent Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ USER REQUEST โ
โ "Build 8-leg 100x parlay for Bengals vs Packers" โ
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ Crew Orchestrator โ
โ - Request Analysis โ
โ - Agent Routing โ
โโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโ
โผ โผ โผ
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Roster Agent โ โ Stats Agent โ โ Parlay Optimizerโ
โ โข Injuries โ โ โข ML Models โ โ โข Combinations โ
โ โข Availabilityโ โ โข Props โ โ โข Correlations โ
โ โข Weather โ โ โข Matchups โ โ โข Optimization โ
โโโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโ
โ QA Agent โ
โ โข Validate โ
โ โข Correlate โ
โ โข Approve โ
โโโโโโโโฌโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ 2-3 Parlay Options โ
โ โข 8 legs โ
โ โข ~100x multiplier โ
โ โข Confidence scores โ
โ โข Full reasoning โ
โโโโโโโโโโโโโโโโโโโโโโโโ
โจ Key Features
๐ญ Four Specialized Agents
-
Roster Intelligence Agent
- Monitors player injury status and availability
- Analyzes weather conditions and game factors
- Checks depth charts and playing time projections
- Validates all players are healthy and active
-
Stats & Props Agent
- Runs ML predictions for player performance
- Analyzes historical stats and matchups
- Calculates prop hit probabilities
- Identifies 20-30 high-confidence opportunities
-
Quality Assurance Agent
- Validates all recommendations for accuracy
- Checks for contradictory or correlated props
- Assesses overall correlation risk
- Provides final approval or rejection
-
Parlay Optimizer Agent
- Constructs optimal parlay combinations
- Balances confidence with target multipliers
- Manages correlation risk across legs
- Generates multiple parlay options
๐ ๏ธ 16 Specialized Tools
Roster Tools:
- Player injury status checking
- Team roster analysis
- Player availability verification
- Weather condition forecasting
Stats Tools:
- Historical stats analysis
- ML-based predictions
- Matchup analysis
- Prop probability calculations
Betting Tools:
- Parlay odds calculation
- Leg optimization algorithms
- Expected value calculation
- Correlation risk assessment
Data Tools:
- Player search and filtering
- Game schedule retrieval
- Prop market analysis
๐ Quick Start
1. Installation
# Clone repository
git clone https://github.com/mattarm/fantasy_mcp.git
cd fantasy_mcp
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
2. Configuration
# Copy environment template
cp env.example .env
# Edit .env and add your OpenAI API key
OPENAI_API_KEY=your_key_here
OPENAI_MODEL=gpt-4
# Other optional configurations
AGENT_VERBOSE=true
PARLAY_MIN_CONFIDENCE=0.65
PARLAY_MAX_LEGS=15
3. Test the System
# Run validation tests
python test_agent_system.py
4. Start the Server
# Start MCP server
python -m fantasy_mcp.main
๐ก Usage Examples
Example 1: Single Game Parlay
Request:
"Put together high confidence 8 leg parlay with a 100x return for this weeks Bengals Packers game"
Process:
- Roster Agent identifies the game and checks all players
- Stats Agent analyzes props and runs ML predictions
- Parlay Optimizer finds 8-leg combinations hitting ~100x
- QA Agent validates and provides final recommendations
Output:
- 2-3 complete parlay options
- Each with 8 legs, ~100x multiplier
- Confidence scores for each leg
- Correlation risk analysis
- Detailed reasoning
Example 2: Multi-Game Parlay
Request:
"Put together a 800x parlay for this Sunday's noon games"
Process:
- Identifies all Sunday noon games (4-6 games)
- Analyzes 60-100+ props across all games
- Finds 10-12 leg combinations hitting ~800x
- Diversifies across games to reduce correlation
- Validates and provides recommendations
Example 3: Via MCP Tools
# Use build_optimized_parlay tool
result = await mcp_client.call_tool("build_optimized_parlay", {
"request": "Build 8-leg 100x parlay for Bengals vs Packers game"
})
# Get parlay history
history = await mcp_client.call_tool("get_parlay_history", {
"limit": 10
})
# Retrieve specific parlay
parlay = await mcp_client.call_tool("get_parlay_by_id", {
"parlay_id": "abc123..."
})
๐ Project Structure
fantasy_mcp/
โโโ src/fantasy_mcp/
โ โโโ agents/ # AI agents
โ โ โโโ roster_intelligence_agent.py
โ โ โโโ stats_props_agent.py
โ โ โโโ qa_agent.py
โ โ โโโ parlay_optimizer_agent.py
โ โโโ crews/ # Crew orchestration
โ โ โโโ betting_crew.py
โ โ โโโ crew_orchestrator.py
โ โโโ tools/ # Agent tools
โ โ โโโ roster_tools.py
โ โ โโโ stats_tools.py
โ โ โโโ betting_tools.py
โ โ โโโ data_tools.py
โ โโโ data_store/ # Data management
โ โ โโโ file_manager.py
โ โ โโโ cache_manager.py
โ โโโ services/ # Core services
โ โ โโโ sleeper_api.py
โ โ โโโ ml_predictor.py
โ โ โโโ betting_advisor.py
โ โโโ api/ # MCP server
โ โ โโโ mcp_server.py
โ โโโ core/ # Core utilities
โ โโโ config.py
โ โโโ database.py
โโโ data/ # File-based storage
โ โโโ players/
โ โโโ stats/
โ โโโ predictions/
โ โโโ bets/parlays/
โ โโโ cache/
โโโ tests/ # Test suite
โโโ archive/ # Archived old scripts
โโโ test_agent_system.py # System tests
โโโ AGENT_SYSTEM_README.md # Detailed agent docs
โโโ IMPLEMENTATION_SUMMARY.md # Implementation details
โโโ requirements.txt # Dependencies
๐ฏ Agent Workflow
Sequential Execution with Context Sharing
-
Request Analysis (Orchestrator)
- Parse user request
- Extract: target multiplier, number of legs, games, time slots
- Route to appropriate workflow
-
Player Availability (Roster Agent)
- Check all relevant players
- Verify injury status
- Assess weather conditions
- Return availability report
-
Prop Analysis (Stats Agent)
- Analyze available props
- Run ML predictions
- Calculate hit probabilities
- Return ranked high-confidence props
-
Parlay Construction (Optimizer Agent)
- Build leg combinations
- Optimize for target multiplier
- Manage correlation risk
- Generate multiple options
-
Quality Validation (QA Agent)
- Validate player status
- Check for contradictions
- Assess correlations
- Approve or reject
-
Final Output
- 2-3 complete parlay recommendations
- Confidence scores and reasoning
- Risk assessment
- Saved to data/bets/parlays/
โ๏ธ Configuration
Environment Variables
# AI/LLM (Required)
OPENAI_API_KEY=your_key_here
OPENAI_MODEL=gpt-4
# Agent Configuration
AGENT_VERBOSE=true
AGENT_MAX_ITERATIONS=15
AGENT_MAX_EXECUTION_TIME=300
# Parlay Settings
PARLAY_MIN_CONFIDENCE=0.65
PARLAY_MAX_LEGS=15
PARLAY_CORRELATION_THRESHOLD=0.3
# Betting Configuration
DEFAULT_BANKROLL=1000.0
KELLY_FRACTION=0.25
Adjustable Parameters
- Confidence Threshold: Minimum confidence for props (default: 0.65)
- Max Legs: Maximum parlay legs (default: 15)
- Correlation Threshold: Maximum acceptable correlation (default: 0.3)
- Kelly Fraction: Bet sizing aggressiveness (default: 0.25)
๐ Data Storage
File-based storage (migration-ready for database):
data/
โโโ players/
โ โโโ {player_id}.json # Player info
โโโ stats/
โ โโโ {player_id}/
โ โโโ {season}_week_{week}.json
โโโ predictions/
โ โโโ {date}/
โ โโโ {player_id}.json # ML predictions
โโโ bets/
โ โโโ parlays/
โ โ โโโ {parlay_id}.json # Saved parlays
โ โโโ history/
โโโ cache/
โโโ {cache_key}.json # API cache
๐งช Testing
# Run system tests
python test_agent_system.py
# With full agent execution (requires API key)
OPENAI_API_KEY=your_key python test_agent_system.py
# Run pytest suite
pytest tests/
# Run with coverage
pytest --cov=src/fantasy_mcp
๐ Documentation
- AGENT_SYSTEM_README.md - Complete agent system documentation
- IMPLEMENTATION_SUMMARY.md - Detailed implementation overview
- test_agent_system.py - Usage examples and tests
- archive/README.md - Information about archived files
๐ง MCP Server Integration
The system provides three main MCP tools:
1. build_optimized_parlay
Build an AI-optimized parlay with specified parameters.
{
"request": "Natural language parlay request"
}
2. get_parlay_history
View recent parlay recommendations.
{
"limit": 10 # Number of parlays to retrieve
}
3. get_parlay_by_id
Retrieve a specific parlay recommendation.
{
"parlay_id": "unique_parlay_id"
}
๐ฆ Performance
- Request Analysis: <1 second
- Full Agent Workflow: 30-60 seconds
- API Response Caching: 30-60 minutes TTL
- Data Persistence: Immediate (file-based)
๐ Key Technologies
- CrewAI: Multi-agent orchestration framework
- LangChain: LLM integration and tools
- OpenAI GPT-4: Agent reasoning and decision-making
- Sleeper API: NFL data and player stats
- scikit-learn/XGBoost: ML models
- Python 3.11+: Core language
๐ฎ Future Enhancements
- [ ] Real-time sportsbook odds integration
- [ ] Live injury monitoring via X (Twitter)
- [ ] Historical parlay performance tracking
- [ ] Multi-LLM support (Anthropic Claude)
- [ ] Automated bet placement
- [ ] Social sentiment analysis
- [ ] Database migration from file storage
โ ๏ธ Important Notes
- API Key Required: OpenAI API key needed for agent execution
- Educational Purpose: For research and learning only
- Data Sources: Currently using Sleeper API (free tier)
- File Storage: All data stored in JSON files (DB-ready architecture)
- Responsible Gaming: This is a tool to aid analysis, not a guarantee of success
๐ค Contributing
Contributions welcome! Please see our contributing guidelines.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
๐ License
MIT License - see LICENSE file for details.
๐ Support
- Issues: GitHub Issues
- Documentation: See AGENT_SYSTEM_README.md
- Email: Support via GitHub
๐ Acknowledgments
- CrewAI for the multi-agent framework
- LangChain for LLM tooling
- Sleeper API for NFL data
- OpenAI for GPT-4
Built with AI ๐ค for intelligent sports betting analysis
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.