# ---------- Build stage ----------
FROM node:18-alpine AS builder
# Optimisations r�seau / build
ENV NODE_ENV=development \
CI=true
WORKDIR /app
# Copie s�lective pour profiter du cache Docker
COPY package.json package-lock.json* ./
COPY tsconfig.json ./
# Installe TOUTES les deps (prod + dev) pour pouvoir builder
RUN npm ci
# Copie du code
COPY . .
# Build TypeScript -> build/
RUN npm run build
# ---------- Runtime stage ----------
FROM node:18-alpine AS runtime
ENV NODE_ENV=production \
# Langue par d�faut (peut �tre "fr" ou "en")
MCP_LANG=fr \
# Port expos� par l'app (src/index.ts -> 8787 si non d�fini)
PORT=8787
WORKDIR /app
# On ne copie que le strict n�cessaire pour la prod
COPY package.json package-lock.json* ./
RUN npm ci --omit=dev
# Copie des artefacts build�s + fichiers utiles (manifest, locales�)
COPY --from=builder /app/build ./build
COPY --from=builder /app/manifest.*.json /app/manifest.template.json ./
COPY --from=builder /app/locales ./locales
COPY --from=builder /app/scripts ./scripts
# (Optionnel) G�n�rer le manifest final au d�marrage
# RUN npm run generate:manifest
EXPOSE 8787
# Lancement en mode HTTP (endpoint /mcp)
# �quivalent �: npm run start:stdio ; could also be start:http if redis server present
CMD ["node", "build/index.js", "--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/paracetamol951/P-Link-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server