Validated EuroLeague & EuroCup Analytics for AI Models
Not an API wrapper. A precision derived layer reconstructing exact possessions, four factors, five-man lineup on/off splits, and court shot charts from public play-by-play event streams.
Verified Ground Truth
Every metric is mechanically proven against official EuroLeague box scores and explicit mathematical invariants.
The Derived Analytics Layer
Moving beyond box-score approximations to exact play-by-play event reconstruction.
Exact Possession Accounting
Traditional box score formulas (like FGA - ORB + TO + 0.44*FTA) are crude estimates. Possessions are counted directly from the event stream across five verified possession-ending criteria, preserving offensive rebound continuations and dead-ball technical free throws.
5-Man Lineup Reconstruction
Tracks substitution batches dynamically to maintain exactly five players on court at all times. Reconstructs matchup stints, lineup offensive/defensive ratings, net ratings, and on/off player impact splits.
Court Shot Coordinates
Merges coordinate sources with play-by-play event attempts, allowing models to filter shot locations by lineup unit, clutch time remaining, and game margin.
Dynamic Clutch Filters
Clutch is stored as margin_at_start and seconds_remaining_at_start on each possession rather than a hard-coded table. Query any clutch definition (e.g. final 2 minutes ±3 points or final 5 minutes ±5 points) on the fly.
Honest Data Integrity
When source data contains unresolvable clock anomalies or recording errors, games are explicitly quarantined (e.g. possession_gate) and disclosed in every response, never smoothed over with synthetic data.
Fast, Read-Only MCP Server
Exposes 11 specialized, read-only tools designed specifically for LLMs. Optimized database views serve complex four-factor and on/off splits in milliseconds.
11 Specialized MCP Tools
Read-only tools providing focused answers and strict pagination to preserve LLM context windows.
Quickstart Setup
Add EuroLeague Analytics to Claude Desktop or any MCP-compatible environment in seconds.
1. Local Setup via stdio (Developers)
Clone the repository and add the local server configuration to your claude_desktop_config.json:
{
"mcpServers": {
"euroleague": {
"command": "python",
"args": ["/path/to/euroleague-analytics/scripts/mcp_server.py"],
"env": {
"DATABASE_URL": "postgresql://postgres:[PASSWORD]@...pooler.supabase.com:5432/postgres"
}
}
}
}
2. Hosted Endpoint via HTTP/SSE
Connect directly to our hosted endpoint for authenticated read-only access:
{
"mcpServers": {
"euroleague-cloud": {
"url": "https://euroleague-analytics-mcp.fly.dev/mcp"
}
}
}
For more client setups, troubleshooting tips, and authentication details, see the Support Guide.
Sponsorship & Collaboration
Help unlock 23 seasons of European basketball history.
The Opportunity: Complete Historical Queryability
The public server currently operates within Supabase's free tier, maintaining a high-performance hot window of E2024, E2025, and live E2026.
The automated archive backfill is working toward the full E2003–E2025 source span. Every completed season must restore byte for byte before the chain advances. Sponsoring a dedicated Supabase Pro database (~$25–35/month) would enable full PostgreSQL indexing and queryability after that archive is complete.
Read the complete Sponsor One-Pager or get in touch at [email protected].