Skip to main content
Glama

MCP Project Orchestrator

Containerfile2.55 kB
# PrintCast Agent MCP Server Container # Multi-stage build for optimal size and security # Build stage FROM python:3.11-slim AS builder # Install build dependencies RUN apt-get update && apt-get install -y \ gcc \ g++ \ make \ libffi-dev \ libssl-dev \ libxml2-dev \ libxslt1-dev \ && rm -rf /var/lib/apt/lists/* # Set working directory WORKDIR /build # Copy requirements COPY pyproject.toml ./ COPY src/ ./src/ # Install Python dependencies RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \ pip install --no-cache-dir -e . # Runtime stage FROM python:3.11-slim # Install runtime dependencies RUN apt-get update && apt-get install -y \ # CUPS for printing cups \ cups-client \ cups-bsd \ # Asterisk dependencies asterisk \ asterisk-modules \ # System utilities curl \ wget \ ca-certificates \ # Clean up && rm -rf /var/lib/apt/lists/* \ && apt-get clean # Create non-root user RUN useradd -m -u 1000 -s /bin/bash printcast && \ usermod -a -G lp,lpadmin printcast # Set working directory WORKDIR /app # Copy from builder COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages COPY --from=builder /usr/local/bin /usr/local/bin # Copy application COPY src/ ./src/ COPY pyproject.toml ./ COPY scripts/ ./scripts/ # Create necessary directories RUN mkdir -p /var/log/printcast \ /var/lib/printcast \ /tmp/printcast \ && chown -R printcast:printcast /var/log/printcast \ /var/lib/printcast \ /tmp/printcast # Copy configuration files COPY config/asterisk/ /etc/asterisk/ COPY config/cups/ /etc/cups/ # Configure CUPS RUN echo "ServerName localhost" > /etc/cups/client.conf && \ echo "Listen localhost:631" >> /etc/cups/cupsd.conf && \ echo "Listen /var/run/cups/cups.sock" >> /etc/cups/cupsd.conf # Expose ports EXPOSE 8000 # MCP Server EXPOSE 5038 # Asterisk AMI EXPOSE 5060 # SIP EXPOSE 631 # CUPS # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ CMD curl -f http://localhost:8000/health || exit 1 # Environment variables ENV PYTHONPATH=/app/src \ PYTHONUNBUFFERED=1 \ PRINT_TEMP_DIR=/tmp/printcast \ CUPS_SERVER=localhost:631 # Switch to non-root user USER printcast # Entry point script COPY --chown=printcast:printcast scripts/docker-entrypoint.sh /usr/local/bin/ RUN chmod +x /usr/local/bin/docker-entrypoint.sh ENTRYPOINT ["docker-entrypoint.sh"] CMD ["python", "-m", "mcp_server.main"]

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/sparesparrow/mcp-project-orchestrator'

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