Build and validate GIMP MCP Server (GimpMCP v1.10.1). Changes: - dockerfiles/gimp-mcp/Dockerfile: Fixed ENTRYPOINT to use python -m instead of uvx - mcp-gimp-wrapper.sh: Created wrapper script with container cleanup - crush.json: Added gimp-mcp entry with type: stdio and timeout: 180 - STATUS.md: Updated working MCP list and detailed status table - JOURNAL.md: Documented integration with full validation results Validation: - Container builds successfully (418MB, Python + uv) - Dockerfile fix: Changed from uvx (slow, rebuilds packages) to python -m (fast, uses .venv) - MCP protocol handshake verified with initialize request - Protocol version 2024-11-05 confirmed - Server name: GimpMCP, version 1.10.1 - Wrapper script tested and working - Environment variable: PYTHONUNBUFFERED=1 - External dependency: GIMP 3.0 with server Dockerfile Fix: - Before: ENTRYPOINT ["uvx", "gimp-mcp-server"] (slow, rebuilds on every run) - After: ENTRYPOINT ["python", "-m", "gimp_mcp_server"] (fast, uses built .venv) - Entry point: gimp-mcp-server = "gimp_mcp_server:main" (from pyproject.toml) This is fourth MCP added in alphabetical order after filtering out already working MCPs (audiobook, bitwarden, blender, cloudron, context7, docker, drawio, elasticsearch, freecad, ghost). Following ADR-007: Sequential Server Validation - one MCP at a time.
25 lines
507 B
Docker
25 lines
507 B
Docker
FROM python:3.12-slim
|
|
|
|
# Install uv for faster package management
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy dependency files
|
|
COPY pyproject.toml uv.lock ./
|
|
|
|
# Install dependencies
|
|
RUN uv sync --frozen --no-dev --no-install-project --no-cache
|
|
|
|
# Copy source code
|
|
COPY . .
|
|
|
|
# Install the project
|
|
RUN uv sync --frozen --no-dev --no-editable --no-cache
|
|
|
|
# Set up environment
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV PATH=/app/.venv/bin:$PATH
|
|
|
|
ENTRYPOINT ["python", "-m", "gimp_mcp_server"]
|