Justin Paul justin

metamcp-patched (26b27b2d9462)

Published 2026-08-18 04:01:07 -04:00 by justin in justin/metamcp-patched

Installation

docker pull git.jpaul.io/justin/metamcp-patched:26b27b2d9462
sha256:1b3d8143f07947905fa4acda8adee94f7d35fdbb7a7bcb86037abd7d3a3892e4

Images

Digest OS / Arch Size
4ed16e6a6e linux/amd64 964 MiB

Image Layers ( linux/amd64)

# debian.sh --arch 'amd64' out/ 'trixie' '@1765152000'
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; apt-get dist-clean # buildkit
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; apt-get dist-clean # buildkit
RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; apt-get dist-clean # buildkit
COPY /uv /uvx /usr/local/bin/ # buildkit
ENV UV_TOOL_BIN_DIR=/usr/local/bin
ENTRYPOINT []
CMD ["/usr/local/bin/uv"]
RUN /bin/sh -c apt-get update && apt-get install -y curl gnupg && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y nodejs && npm install -g [email protected] && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
WORKDIR /app
LABEL org.opencontainers.image.source=https://github.com/metatool-ai/metamcp
LABEL org.opencontainers.image.description=MetaMCP - aggregates MCP servers into a unified MetaMCP
LABEL org.opencontainers.image.licenses=MIT
LABEL org.opencontainers.image.title=MetaMCP
LABEL org.opencontainers.image.vendor=metatool-ai
RUN /bin/sh -c apt-get update && apt-get install -y curl postgresql-client && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/sh -c addgroup --system --gid 1001 nodejs # buildkit
RUN /bin/sh -c adduser --system --uid 1001 --home /home/nextjs nextjs && mkdir -p /home/nextjs/.cache/node/corepack && chown -R nextjs:nodejs /home/nextjs # buildkit
COPY --chown=nextjs:nodejs /app/apps/frontend/.next ./apps/frontend/.next # buildkit
COPY --chown=nextjs:nodejs /app/apps/frontend/package.json ./apps/frontend/ # buildkit
COPY --chown=nextjs:nodejs /app/apps/backend/dist ./apps/backend/dist # buildkit
COPY --chown=nextjs:nodejs /app/apps/backend/package.json ./apps/backend/ # buildkit
COPY --chown=nextjs:nodejs /app/apps/backend/drizzle ./apps/backend/drizzle # buildkit
COPY --chown=nextjs:nodejs /app/apps/backend/drizzle.config.ts ./apps/backend/ # buildkit
COPY --chown=nextjs:nodejs /app/packages ./packages # buildkit
COPY --chown=nextjs:nodejs /app/node_modules ./node_modules # buildkit
COPY --chown=nextjs:nodejs /app/package.json ./ # buildkit
COPY --chown=nextjs:nodejs /app/pnpm-workspace.yaml ./ # buildkit
RUN /bin/sh -c pnpm install --prod # buildkit
RUN /bin/sh -c cd apps/backend && pnpm add [email protected] # buildkit
COPY --chown=nextjs:nodejs docker-entrypoint.sh ./ # buildkit
RUN /bin/sh -c chmod +x docker-entrypoint.sh # buildkit
USER nextjs
EXPOSE [12008/tcp]
HEALTHCHECK &{["CMD-SHELL" "curl -f http://localhost:12008/health || exit 1"] "30s" "30s" "5s" "0s" '\x03'}
CMD ["./docker-entrypoint.sh"]
USER root
RUN /bin/sh -c set -eux; F=/app/apps/backend/dist/index.js; test -f "$F"; grep -Fq "\"/.well-known/oauth-protected-resource\"" "$F"; grep -Fq "\"/.well-known/oauth-authorization-server\"" "$F"; if grep -Fq "/__jpaul_disabled_oauth" "$F"; then echo "already patched — aborting"; exit 1; fi; B1=$(grep -Fc "\"/.well-known/oauth-protected-resource\"" "$F"); B2=$(grep -Fc "\"/.well-known/oauth-authorization-server\"" "$F"); [ "$B1" = "1" ] || { echo "unexpected count $B1 for oauth-protected-resource; upstream changed"; exit 2; }; [ "$B2" = "1" ] || { echo "unexpected count $B2 for oauth-authorization-server; upstream changed"; exit 2; }; sed -i -e "s#\"/\\.well-known/oauth-protected-resource\"#\"/__jpaul_disabled_oauth_pr\"#g" -e "s#\"/\\.well-known/oauth-authorization-server\"#\"/__jpaul_disabled_oauth_as\"#g" "$F"; if grep -Fq "\"/.well-known/oauth-protected-resource\"" "$F"; then echo "patch failed: oauth-protected-resource still present"; exit 3; fi; if grep -Fq "\"/.well-known/oauth-authorization-server\"" "$F"; then echo "patch failed: oauth-authorization-server still present"; exit 3; fi; grep -Fq "/__jpaul_disabled_oauth_pr" "$F"; grep -Fq "/__jpaul_disabled_oauth_as" "$F"; echo "OAuth discovery routes disabled — patch verified" # buildkit

Labels

Key Value
org.opencontainers.image.created 2025-12-11T04:10:51.447Z
org.opencontainers.image.description MetaMCP with host-wide OAuth 2.1 discovery routes hidden
org.opencontainers.image.licenses MIT
org.opencontainers.image.revision 32b6e9813acfc13d1013eb2452be1899d6654bb9
org.opencontainers.image.source https://git.jpaul.io/justin/metamcp-patched
org.opencontainers.image.title metamcp
org.opencontainers.image.url https://github.com/metatool-ai/metamcp
org.opencontainers.image.vendor metatool-ai
org.opencontainers.image.version 2.4.22
Details
Container
2026-08-18 04:01:07 -04:00
0
OCI / Docker
Versions (4) View all
latest 2026-08-18
26b27b2d9462 2026-08-18
d5cd602d85cd 2026-07-27
seed-20260722 2026-07-22