fix: configure stdio-based MCP servers (penpot, imap)

- Set penpot-mcp restart: "no" for on-demand execution
- Create custom Dockerfile for imap-mcp with python module entrypoint
- Fix IMAP_HOST environment variable naming (was IMAP_SERVER)
- Update .env and docker-compose.yml for IMAP_HOST
- Remove command overrides from imap-mcp and penpot-mcp
- Verify penpot-mcp and imap-mcp work correctly
This commit is contained in:
2026-01-22 14:55:18 -05:00
parent 5f17f43f3f
commit aefeaa30fc
3 changed files with 31 additions and 6 deletions

2
.env
View File

@@ -43,7 +43,7 @@ DISCOURSE_API_KEY=dummy-api-key-replace-with-real
DISCOURSE_API_USERNAME=admin DISCOURSE_API_USERNAME=admin
# IMAP # IMAP
IMAP_SERVER=imap.example.com IMAP_HOST=imap.example.com
IMAP_PORT=993 IMAP_PORT=993
IMAP_USERNAME=user@example.com IMAP_USERNAME=user@example.com
IMAP_PASSWORD=dummy-password-replace-with-real IMAP_PASSWORD=dummy-password-replace-with-real

View File

@@ -248,20 +248,20 @@ services:
- ops - ops
# IMAP MCP - Email processing # IMAP MCP - Email processing
# NOTE: This is a stdio-based MCP server, run on-demand by Crush via docker run
imap-mcp: imap-mcp:
image: kneldevstack-aimiddleware-imap-mcp image: kneldevstack-aimiddleware-imap-mcp
build: build:
context: ./vendor/imap-mcp context: ./vendor/imap-mcp
dockerfile: Dockerfile dockerfile: ../../dockerfiles/imap-mcp/Dockerfile
container_name: kneldevstack-aimiddleware-imap-mcp container_name: kneldevstack-aimiddleware-imap-mcp
restart: unless-stopped restart: "no"
environment: environment:
- PYTHONUNBUFFERED=1 - PYTHONUNBUFFERED=1
- IMAP_SERVER=${IMAP_SERVER} - IMAP_HOST=${IMAP_HOST}
- IMAP_PORT=${IMAP_PORT:-993} - IMAP_PORT=${IMAP_PORT:-993}
- IMAP_USERNAME=${IMAP_USERNAME} - IMAP_USERNAME=${IMAP_USERNAME}
- IMAP_PASSWORD=${IMAP_PASSWORD} - IMAP_PASSWORD=${IMAP_PASSWORD}
command: ["uvx", "imap-mcp"]
profiles: profiles:
- ops - ops
@@ -460,13 +460,14 @@ services:
# ========================================== # ==========================================
# Penpot MCP - Design collaboration platform # Penpot MCP - Design collaboration platform
# NOTE: This is a stdio-based MCP server, run on-demand by Crush via docker run
penpot-mcp: penpot-mcp:
image: kneldevstack-aimiddleware-penpot-mcp image: kneldevstack-aimiddleware-penpot-mcp
build: build:
context: ./vendor/penpot-mcp context: ./vendor/penpot-mcp
dockerfile: Dockerfile dockerfile: Dockerfile
container_name: kneldevstack-aimiddleware-penpot-mcp container_name: kneldevstack-aimiddleware-penpot-mcp
restart: unless-stopped restart: "no"
environment: environment:
- PENPOT_URL=${PENPOT_URL:-https://design.penpot.app} - PENPOT_URL=${PENPOT_URL:-https://design.penpot.app}
- PENPOT_TOKEN=${PENPOT_TOKEN} - PENPOT_TOKEN=${PENPOT_TOKEN}

View File

@@ -0,0 +1,24 @@
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 ./
# Install dependencies
RUN uv sync --no-dev --no-install-project --no-cache
# Copy source code
COPY . .
# Install the 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", "imap_mcp.server"]