Support & Connection Guide

Last Updated: August 31, 2026EuroLeague Analytics Documentation

This guide walks through configuring your AI assistant or development environment to query EuroLeague Analytics via the Model Context Protocol (MCP).

1. Connecting with Claude Desktop

To allow Claude Desktop to use EuroLeague Analytics tools, edit your configuration file:

Hosted Cloud Server (Recommended)

{
  "mcpServers": {
    "euroleague-analytics": {
      "url": "https://euroleague-analytics-mcp.fly.dev/mcp"
    }
  }
}

Local Server via stdio (Developers)

If you have cloned the repository and configured a local .env with your PostgreSQL connection:

{
  "mcpServers": {
    "euroleague-local": {
      "command": "python",
      "args": ["/path/to/euroleague-analytics/scripts/mcp_server.py"]
    }
  }
}

2. Connecting with Other MCP Clients (Cursor, Windsurf, etc.)

Configure an HTTP/SSE remote MCP server using:

3. Available Tools & Usage

The server exposes 11 read-only tools prefixed with el_. Every query response includes metadata declaring data coverage and whether minutes are raw or corrected.

4. Frequently Asked Questions

What loaded seasons are currently available?

The public warehouse contains complete regular season and playoff data for E2024 (330 games) and E2025 (402 games), plus schedule and roster data for the upcoming E2026 season.

Why do responses declare "corrected" vs "raw" minutes?

In 32 specific overtime substitution events across 330 games, the source API clock recorded substitutions 60 seconds off. Our narrow, validated correction restores exact second-level agreement with the official box score (99.54% match). To ensure full transparency, every tool response explicitly declares its time basis.

What is a "quarantined" game?

When source play-by-play events contain unresolvable recording errors (such as missing possession-ending events that exceed our conservative 2-possession tolerance), those games are flagged in game_quality and excluded from default aggregations. They can still be queried by passing include_quarantined=True.

5. Troubleshooting

6. Bug Reports & Feedback

Found an anomaly in the data or want to request a new analytics feature?