Skip to main content
Glama
Dockerfile-mcpx3.11 kB
# Add specific sha FROM node:22.16-alpine3.21 ENV LOG_LEVEL="info" ENV LUNAR_CONSUMER_TAG="anonymous" ENV LUNAR_URL="" ENV LUNAR_API_KEY="" ENV WEBSERVER_URL="http://host.docker.internal:9001" # Exclude specific destinations from interception # This is a comma-separated list of domains that should not be intercepted. # It is used to prevent interception when loading mcp servers. ENV EXCLUDED_DESTINATIONS="dl-cdn.alpinelinux.org,deb.debian.org,security.debian.org,registry.npmjs.org,auth.docker.io,registry-1.docker.io,production.cloudflare.docker.com,mcpx-ui,files.pythonhosted.org,pypi.org,archive.ubuntu.com,security.ubuntu.com,mirrors.ubuntu.com,mirrorlist.centos.org,mirror.centos.org,vault.centos.org,cdn.redhat.com,access.redhat.com,mirrors.fedoraproject.org" ENV INTERCEPTION_USER=lunar_interception ENV INTERCEPTION_USER_UID=1001 ENV INTERCEPTION_USER_GID=1001 ENV LUNAR_USER=lunar ENV LUNAR_USER_UID=1002 ENV LUNAR_USER_GID=1002 ENV SHARED_GROUP_NAME=lunar_group ENV SHARED_GROUP_GID=1050 ENV MITM_PROXY_CONF_DIR=/home/${INTERCEPTION_USER}/.proxy RUN apk add --no-cache \ python3 \ uv \ curl \ iptables \ ipset \ libcap \ su-exec \ ca-certificates \ procps \ mitmproxy \ docker WORKDIR /mcpx # MCPX Server COPY ./packages/mcpx-server/src packages/mcpx-server/src COPY ./packages/mcpx-server/tsconfig.json packages/mcpx-server/tsconfig.json COPY ./packages/mcpx-server/package.json packages/mcpx-server/package.json # Internal dependencies COPY ./packages/shared-model packages/shared-model COPY ./packages/toolkit-core packages/toolkit-core COPY ./package.json ./package.json COPY ./package-lock.json ./package-lock.json # Interception COPY ./packages/mcpx-server/interception-setup/scripts/entrypoint.sh /usr/local/bin/entrypoint.sh COPY ./packages/mcpx-server/interception-setup/scripts/lunar_selective_addon.py /opt/lunar_selective_addon.py RUN npm install RUN npm run build:deps WORKDIR /mcpx/packages/mcpx-server RUN npm install RUN npm run build RUN chmod +x /usr/local/bin/entrypoint.sh RUN \ addgroup -g ${LUNAR_USER_GID} -S ${LUNAR_USER} && \ addgroup -g ${INTERCEPTION_USER_GID} -S ${INTERCEPTION_USER} && \ addgroup -g ${SHARED_GROUP_GID} -S ${SHARED_GROUP_NAME} && \ adduser -u ${LUNAR_USER_UID} -S -D -G ${LUNAR_USER} -h /home/${LUNAR_USER} -s /sbin/nologin ${LUNAR_USER} && \ adduser -u ${INTERCEPTION_USER_UID} -S -D -G ${INTERCEPTION_USER} -h /home/${INTERCEPTION_USER} -s /sbin/nologin ${INTERCEPTION_USER} && \ addgroup ${LUNAR_USER} ${SHARED_GROUP_NAME} && \ addgroup ${INTERCEPTION_USER} ${SHARED_GROUP_NAME} && \ mkdir -p /home/${LUNAR_USER} && \ mkdir -p /home/${INTERCEPTION_USER} && \ mkdir -p ${MITM_PROXY_CONF_DIR} && \ mkdir -p /var/log/${LUNAR_USER} && \ chown -R ${LUNAR_USER}:${LUNAR_USER} /home/${LUNAR_USER} && \ chown -R ${INTERCEPTION_USER}:${INTERCEPTION_USER} /home/${INTERCEPTION_USER} && \ chown -R root:${SHARED_GROUP_NAME} /var/log/${LUNAR_USER} EXPOSE 9000 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] CMD ["npm", "run", "serve"]

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/TheLunarCompany/lunar'

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