- gitea-mcp, mcp-grafana: bump Go from 1.24 to 1.26 (upstream go.mod now requires >= 1.26.x) - proxmox-mcp: constrain requires-python to >=3.10 for fastmcp compat - elasticsearch-mcp: add missing vendor repo to CloneVendorRepos.sh (elastic/mcp-server-elasticsearch) - context7-mcp: add .npmrc to disable pnpm v10 strict built-deps check - drawio-mcp: exclude dev-proxy package from build (upstream TS errors), build with pnpm v10 + .npmrc - discourse-mcp, ghidra-mcp: remain blocked (upstream issues)
29 lines
974 B
Docker
29 lines
974 B
Docker
FROM python:3.12-slim
|
|
|
|
# Install uv for faster package management and git for any git dependencies
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
RUN apt-get update && apt-get install -y --no-install-recommends git && rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy all source code first
|
|
COPY . .
|
|
|
|
# Replace mcp git dependency with fastmcp from PyPI
|
|
RUN sed -i 's|"mcp @ git+https://github.com/modelcontextprotocol/python-sdk.git"|"fastmcp"|' pyproject.toml
|
|
|
|
# Fix requires-python for fastmcp compatibility (needs >=3.10)
|
|
RUN sed -i 's/requires-python = ">=3.9"/requires-python = ">=3.10"/' pyproject.toml
|
|
|
|
# Patch imports to use fastmcp instead of mcp.server.fastmcp
|
|
RUN find . -name "*.py" -exec sed -i 's/from mcp\.server\.fastmcp/from fastmcp/g' {} \;
|
|
|
|
# Install dependencies and project
|
|
RUN uv sync --no-dev --no-editable --no-cache
|
|
|
|
# Set up environment
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV PATH=/app/.venv/bin:$PATH
|
|
|
|
ENTRYPOINT ["python", "-m", "proxmox_mcp.server"]
|