diff --git a/images/infrahub-mcp/Dockerfile b/images/infrahub-mcp/Dockerfile new file mode 100644 index 0000000..90c2aee --- /dev/null +++ b/images/infrahub-mcp/Dockerfile @@ -0,0 +1,30 @@ +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"]