Skip to main content
Glama

YaraFlux MCP Server

Dockerfile3.15 kB
# Stage 0: Python base image FROM python:3.13-slim AS base # Build arguments ARG USER=yaraflux ARG UID=10001 # Install system dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ libc6-dev \ python3-dev \ libssl-dev \ yara \ libmagic-dev \ libjansson-dev \ curl \ && rm -rf /var/lib/apt/lists/* # Create non-root user RUN groupadd -g ${UID} ${USER} && \ useradd -u ${UID} -g ${USER} -s /bin/bash -m ${USER} && \ mkdir -p /app /app/data/rules/community /app/data/rules/custom /app/data/samples /app/data/results && \ chown -R ${USER}:${USER} /app # Set environment variables ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ PYTHONPATH=/app \ DEBUG=true # Stage 1: Builder stage FROM base AS builder # Set working directory WORKDIR /app # Copy requirements file COPY requirements.txt /app/ # Install dependencies RUN pip install --no-cache-dir -U pip setuptools wheel && \ pip install --no-cache-dir -r requirements.txt # Stage 2: Test stage FROM builder AS test COPY --from=builder /usr/local/bin /usr/local/bin # Install uv RUN curl -LsSf https://astral.sh/uv/install.sh | sh && \ mv /root/.local/bin/uv /usr/local/bin/uv # Install test dependencies using uv COPY requirements.txt setup.py pyproject.toml README.md /app/ COPY src/yaraflux_mcp_server /app/src/yaraflux_mcp_server RUN uv venv && \ uv pip install -e ".[dev]" \ && uv pip install -e ".[test]" \ && uv pip install PyJWT coverage black pylint mypy pytest pytest-cov pytest-mock # Copy test files and configs COPY tests/ /app/tests/ COPY .coveragerc /app/ COPY .pylintrc /app/ COPY mypy.ini /app/ COPY pytest.ini /app/ ENTRYPOINT ["bash"] # Stage 3: Production stage FROM base AS production # Build arguments for metadata ARG BUILD_DATE ARG VERSION=1.0.0 # Add metadata LABEL org.opencontainers.image.created="${BUILD_DATE}" \ org.opencontainers.image.authors="wyatt@threatflux.ai" \ org.opencontainers.image.url="https://github.com/ThreatFlux/YaraFlux" \ org.opencontainers.image.documentation="https://github.com/ThreatFlux/YaraFlux" \ org.opencontainers.image.source="https://github.com/ThreatFlux/YaraFlux" \ org.opencontainers.image.version="${VERSION}" \ org.opencontainers.image.vendor="ThreatFlux" \ org.opencontainers.image.title="yaraflux-mcp-server" \ org.opencontainers.image.description="YaraFlux MCP Server for Claude Desktop integration" # Set working directory WORKDIR /app # Copy dependencies from builder COPY --from=builder /usr/local/lib/python3.13/site-packages /usr/local/lib/python3.13/site-packages COPY --from=builder /usr/local/bin /usr/local/bin # Copy application code COPY --chown=${USER}:${USER} src/yaraflux_mcp_server /app/yaraflux_mcp_server # Copy entrypoint script COPY entrypoint.sh /app/ RUN chmod +x /app/entrypoint.sh # Switch to non-root user USER ${USER} # Health check HEALTHCHECK --interval=5m --timeout=3s \ CMD python -c "import yaraflux_mcp_server; print('healthy')" || exit 1 # Run the server ENTRYPOINT ["/app/entrypoint.sh"] CMD ["--transport", "stdio"]

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/ThreatFlux/YaraFlux'

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