FROM python:3.13-slim@sha256:ffb752e139c0a19692a43af8d8523b274222dd68eebad5d583b45c2201c6e30a

ARG MCP_VERSION=1.29.0
RUN pip install --no-cache-dir "mcp==${MCP_VERSION}" \
    && groupadd --system --gid 10009 stratomcp \
    && useradd --system --uid 10009 --gid 10009 --no-create-home stratomcp

COPY strato_client.py /app/strato_client.py
COPY strato_mcp.py /app/strato_mcp.py

USER 10009:10009
WORKDIR /app
ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    MCP_TRANSPORT=streamable-http \
    PORT=8000
EXPOSE 8000

HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
  CMD python -c "import socket; s=socket.create_connection(('127.0.0.1',8000),3); s.close()"

ENTRYPOINT ["python", "/app/strato_mcp.py"]
