FROM node:20-slim # Install KiCad, Python, and build dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ kicad \ python3 \ python3-pip \ python3-venv \ ca-certificates \ && rm -rf /var/lib/apt/lists/* # Use SWIG backend (headless — no KiCad GUI needed) ENV KICAD_BACKEND=swig WORKDIR /app # Copy MCP server source COPY KiCAD-MCP-Server/ . # Install Node deps + supergateway (stdio→SSE bridge) RUN npm install && npm install -g supergateway # Install Python requirements (Pillow, cairosvg, etc.) RUN pip3 install --break-system-packages -r python/requirements.txt # Ensure generated files dir exists RUN mkdir -p /data/files/generated EXPOSE 8809 CMD ["supergateway", "--stdio", "node dist/index.js", "--port", "8809"]