Skip to main content
Glama

Curupira

by drzln
Dockerfile2.44 kB
# syntax=docker/dockerfile:1 # Multi-stage Dockerfile for Curupira MCP Server # Optimized for production deployment to Docker Hub # Build stage FROM node:20-alpine AS builder # Install build dependencies RUN apk add --no-cache python3 make g++ git WORKDIR /app # Copy package files for better caching COPY package*.json ./ COPY tsconfig*.json ./ COPY shared/package*.json ./shared/ COPY mcp-server/package*.json ./mcp-server/ # Install all dependencies RUN npm ci --workspaces # Copy source code COPY shared/ ./shared/ COPY mcp-server/ ./mcp-server/ # Build shared and server packages RUN npm run build --workspace=@curupira/shared && npm run build --workspace=curupira-mcp-server # Production stage FROM node:20-alpine AS production # Install dumb-init and security updates RUN apk add --no-cache dumb-init ca-certificates && \ apk upgrade --no-cache # Create non-root user RUN addgroup -g 1001 -S nodejs && \ adduser -S nodejs -u 1001 WORKDIR /app # Copy package files COPY --from=builder /app/package*.json ./ COPY --from=builder /app/shared/package*.json ./shared/ COPY --from=builder /app/mcp-server/package*.json ./mcp-server/ # Install production dependencies only RUN npm ci --workspaces --omit=dev && \ npm cache clean --force # Copy built files COPY --from=builder --chown=nodejs:nodejs /app/shared/dist ./shared/dist COPY --from=builder --chown=nodejs:nodejs /app/mcp-server/dist ./mcp-server/dist # Switch to non-root user USER nodejs # Expose MCP server port EXPOSE 8080 # Set production environment ENV NODE_ENV=production ENV CURUPIRA_PORT=8080 ENV CURUPIRA_HOST=0.0.0.0 ENV PORT=8080 ENV HOST=0.0.0.0 # Health check with modern approach HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \ CMD node -e "fetch('http://localhost:8080/health').then(r => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))" # Copy package.json for dynamic version reading COPY package.json ./ # Metadata with dynamic version LABEL org.opencontainers.image.source="https://github.com/drzln/curupira" LABEL org.opencontainers.image.description="Curupira MCP Server - Enhanced CDP-native MCP debugging platform with 85+ resources and 40+ tools" LABEL org.opencontainers.image.licenses="MIT" LABEL curupira.features="cdp,react,xstate,zustand,apollo,connectivity" # Use dumb-init to handle signals properly ENTRYPOINT ["dumb-init", "--"] CMD ["node", "mcp-server/dist/cli.js", "start"]

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/drzln/curupira'

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