mobile-mcp Docker & Self-Hosted Deployment

GitHub

Model Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices)

9,842 stars TypeScript TypeScript 1 file ยท ~5,916 tokens #agent#android#emulator#ios#mcp#mobile#physical#real
1. Pull Image (DOCKERHUB) docker pull mobile-next/mobile-mcp:latest
2. Docker Run (1-Click Launch) docker run -d --name mobile-mcp --restart always mobile-next/mobile-mcp:latest
3. Podman Run podman run -d --name mobile-mcp --restart always mobile-next/mobile-mcp:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/mobile-next/mobile-mcp:latest
5. ORAS Pull (OCI Artifact) oras pull mobile-next/mobile-mcp:latest
Dockerfile
FROM node:22-slim AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:22-slim
# adb client only; devices are reached through the host's adb server
RUN apt-get update && apt-get install -y --no-install-recommends adb && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY package*.json ./
# --ignore-scripts: "prepare" runs husky, a devDependency
RUN npm ci --omit=dev --ignore-scripts
COPY --from=build /app/lib ./lib
# /app itself must be writable by node: save_screenshot writes below cwd
RUN chown node:node /app
USER node
ENV ADB_SERVER_SOCKET=tcp:host.docker.internal:5037
ENTRYPOINT ["node", "lib/index.js"]