FROM python:3.13-slim

# Dépendances système pour uv et build éventuel de wheels
RUN apt-get update && \
    apt-get install -y --no-install-recommends git ca-certificates curl && \
    rm -rf /var/lib/apt/lists/*

# Installer uv
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv

# Cloner le repo MCP server upstream
ARG INFRAHUB_MCP_VERSION=main
RUN git clone --depth 1 --branch ${INFRAHUB_MCP_VERSION} \
    https://github.com/opsmill/infrahub-mcp-server.git /app

WORKDIR /app

# Installer les dépendances Python via uv
RUN uv sync --frozen --no-dev

# Variables d'environnement par défaut
ENV INFRAHUB_ADDRESS=http://localhost:8000
ENV INFRAHUB_API_TOKEN=""
ENV MCP_HOST=0.0.0.0
ENV MCP_PORT=8001

EXPOSE 8001

# Lancer le serveur MCP en mode SSE (accessible via réseau)
ENTRYPOINT ["uv", "run", "fastmcp", "run", "src/infrahub_mcp/server.py:mcp", "--transport", "sse"]
