New MCP servers added to the gateway stack: - memory-bank-mcp (port 8700): Persistent key-value memory storage with tags, categories, and search - puppeteer-mcp (port 8800): Headless browser automation via Pyppeteer (navigate, screenshot, click, JS eval, PDF gen) - sequential-thinking-mcp (port 8900): Structured step-by-step reasoning with branching hypotheses and synthesis - docker-mcp (port 9000): Docker container/image/network/volume management via Docker socket All servers follow the existing Python/FastMCP pattern with streamable-http transport. docker-compose.yml updated with service definitions and gateway backend routes.
37 lines
878 B
Docker
Executable file
37 lines
878 B
Docker
Executable file
FROM python:3.12-slim-bookworm
|
|
|
|
# Install Chromium and dependencies for headless browser
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
chromium \
|
|
chromium-sandbox \
|
|
fonts-liberation \
|
|
libnss3 \
|
|
libatk-bridge2.0-0 \
|
|
libdrm2 \
|
|
libxkbcommon0 \
|
|
libgbm1 \
|
|
libasound2 \
|
|
libatspi2.0-0 \
|
|
libgtk-3-0 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Point pyppeteer to system Chromium
|
|
ENV PYPPETEER_CHROMIUM_REVISION=0
|
|
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY puppeteer_mcp.py .
|
|
COPY entrypoint.py .
|
|
|
|
ENV PORT=8800
|
|
|
|
EXPOSE 8800
|
|
|
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s \
|
|
CMD python3 -c "import urllib.request; urllib.request.urlopen('http://localhost:8800/mcp', timeout=5)"
|
|
|
|
CMD ["python3", "entrypoint.py"]
|