Skip to main content
Glama
Dockerfile1.88 kB
# Multi-stage Dockerfile for Pathfinder MCP Server # Uses uv for fast, reproducible builds # Stage 1: Builder FROM python:3.11-slim AS builder # Install uv COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv # Set working directory WORKDIR /app # Copy dependency files COPY pyproject.toml uv.lock ./ # Install dependencies (frozen lock, production only) RUN uv sync --frozen --no-dev # Copy source code COPY src/ ./src/ COPY README.md ./ # Install the package RUN uv pip install --no-deps . # Stage 2: Runtime FROM python:3.11-slim # Create non-root user for security RUN useradd -m -u 1000 pathfinder && \ mkdir -p /sessions && \ chown -R pathfinder:pathfinder /sessions # Set working directory WORKDIR /app # Copy virtual environment from builder COPY --from=builder --chown=pathfinder:pathfinder /app/.venv /app/.venv # Copy uv binary COPY --from=builder /usr/local/bin/uv /usr/local/bin/uv # Set environment variables ENV PATH="/app/.venv/bin:$PATH" \ PYTHONUNBUFFERED=1 \ PATHFINDER_TRANSPORT=sse \ PATHFINDER_HOST=0.0.0.0 \ PATHFINDER_PORT=8000 \ PATHFINDER_SESSIONS_DIR=/sessions # Switch to non-root user USER pathfinder # Expose port EXPOSE 8000 # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD python -c "import http.client; conn = http.client.HTTPConnection('localhost', 8000); conn.request('GET', '/health'); r = conn.getresponse(); exit(0 if r.status == 200 else 1)" || exit 1 # Labels LABEL org.opencontainers.image.title="Pathfinder MCP Server" \ org.opencontainers.image.description="FastMCP server implementing Research-Plan-Implement workflow with context compaction" \ org.opencontainers.image.version="0.1.0" \ org.opencontainers.image.source="https://github.com/jamesctucker/pathfinder-mcp" # Entrypoint ENTRYPOINT ["pathfinder-mcp"]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jamesctucker/pathfinder-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server