Namespace
samanhappy
Image / Tag
mcphub:0.1.0
Content Digest
sha256:f1465b5ba58ae005e2947dcfd7cd8a5757b97a47ef0e22b2ec502f28f99d3524
Details
Created

2025-04-13 03:55:39 UTC

Size

353 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2025-04-13T03:55:10.789Z
  • org.opencontainers.image.description
    A unified hub server that consolidates multiple MCP servers into one single SSE endpoint
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    2b88e956c0b7ab08ec44f94c673902ad90197c18
  • org.opencontainers.image.source
    https://github.com/samanhappy/mcphub
  • org.opencontainers.image.title
    mcphub
  • org.opencontainers.image.url
    https://github.com/samanhappy/mcphub
  • org.opencontainers.image.version
    0.1.0

Environment
GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

LANG

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PYTHON_SHA256

07ab697474595e06f06647417d3c7fa97ded07afc1a7e4454c5639919b46eaea

PYTHON_VERSION

3.12.10

REQUEST_TIMEOUT

60000

UV_PYTHON_INSTALL_MIRROR

http://mirrors.aliyun.com/pypi/simple/


Layers

[#000] sha256:8a628cdd7ccc83e90e5a95888fcb0ec24b991141176c515ad101f12d6433eb96 - 7.62% (26.9 MB)

[#001] sha256:6cca951a45d16183402c0ea0d763285dff4024af76a75119fb405268bc35c359 - 0.95% (3.35 MB)

[#002] sha256:b3b4f30c6749b72e9b25139714a21ee8c3c5689b213a023c7b42be2634cfc320 - 3.69% (13 MB)

[#003] sha256:e9ddbe7a005f6950194f9ec89ccfff2c86729491901f767d8b03f8062de3daf5 - 0.0% (249 Bytes)

[#004] sha256:1616bdaa8da2e598f4692d371f98ba5816f19d01abc1d84392ff3c329f955b6c - 4.53% (16 MB)

[#005] sha256:4aecf66ab5ec8a085bbcb3460801272dcbb8ecef4a9d3d12690cb42f8d1a0972 - 19.17% (67.8 MB)

[#006] sha256:8cb09320f88cb0c3a646c00eb84e2f1a2e8161f691583a9899ae540a9637bf56 - 2.76% (9.75 MB)

[#007] sha256:9543fcd7b178c2325eee693804af1ac94e6b31728cffb03698b9fc69c8c8cac5 - 3.55% (12.5 MB)

[#008] sha256:c3f1c812ad988e600cb64aa79d0280882bf9bf1f5f82e28f4756e3008426aba7 - 0.0% (93 Bytes)

[#009] sha256:644f4f38ddc8b8fa7318bbb41e6a05f0f0f45bb5715588d57a261b93473c44b1 - 0.02% (77.6 KB)

[#010] sha256:cb3e806e95dc1a88d80e5e772bedd01f0c3fbbd6eda736e2f88954a665b695c7 - 51.33% (181 MB)

[#011] sha256:96f73a60873a36a1a358a393889198ede3d0b9ec15ebcd287f865169da313fdb - 5.91% (20.9 MB)

[#012] sha256:5d89745e2e21a526a0243fc655c7436d072a4752ebb1e064ec20c8a2f6cc5625 - 0.32% (1.13 MB)

[#013] sha256:633992141efeaee5ea0f84b51641419feb7387a3d3f6b3bfa6982587aaf1f5e1 - 0.16% (592 KB)

[#014] sha256:bf4ce41a49ebfba63e8fb6ac7c54a81286bda5a78666121bcfa63f94f8369780 - 0.0% (350 Bytes)

[#015] sha256:f45715409e3c302a2c6d3eac3f48509a4e4695ed15133069c5caed746c610e82 - 0.0% (346 Bytes)


History
2025-04-07 00:00:00 UTC (debuerreotype 0.15)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1743984000'

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.10

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=07ab697474595e06f06647417d3c7fa97ded07afc1a7e4454c5639919b46eaea

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared --with-lto --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-04-12 05:41:58 UTC (buildkit.dockerfile.v0)

COPY /uv /uvx /bin/ # buildkit

2025-04-12 05:42:09 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y curl gnupg && curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && apt-get install -y nodejs && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-04-12 05:42:10 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c npm install -g pnpm # buildkit

2025-04-12 05:42:11 UTC (buildkit.dockerfile.v0)

ARG REQUEST_TIMEOUT=60000

2025-04-12 05:42:11 UTC (buildkit.dockerfile.v0)

ENV REQUEST_TIMEOUT=60000

2025-04-12 05:42:11 UTC (buildkit.dockerfile.v0)

RUN |1 REQUEST_TIMEOUT=60000 /bin/sh -c uv tool install mcp-server-fetch # buildkit

2025-04-12 05:42:11 UTC (buildkit.dockerfile.v0)

ENV UV_PYTHON_INSTALL_MIRROR=http://mirrors.aliyun.com/pypi/simple/

2025-04-12 05:42:11 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2025-04-12 14:48:01 UTC (buildkit.dockerfile.v0)

COPY package.json pnpm-lock.yaml ./ # buildkit

2025-04-12 14:48:07 UTC (buildkit.dockerfile.v0)

RUN |1 REQUEST_TIMEOUT=60000 /bin/sh -c pnpm install # buildkit

2025-04-12 14:48:11 UTC (buildkit.dockerfile.v0)

RUN |1 REQUEST_TIMEOUT=60000 /bin/sh -c pnpm install @amap/amap-maps-mcp-server @playwright/mcp@latest tavily-mcp@latest @modelcontextprotocol/server-github @modelcontextprotocol/server-slack # buildkit

2025-04-13 03:55:33 UTC (buildkit.dockerfile.v0)

COPY . . # buildkit

2025-04-13 03:55:39 UTC (buildkit.dockerfile.v0)

RUN |1 REQUEST_TIMEOUT=60000 /bin/sh -c pnpm frontend:build && pnpm build # buildkit

2025-04-13 03:55:39 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /usr/local/bin/entrypoint.sh # buildkit

2025-04-13 03:55:39 UTC (buildkit.dockerfile.v0)

RUN |1 REQUEST_TIMEOUT=60000 /bin/sh -c chmod +x /usr/local/bin/entrypoint.sh # buildkit

2025-04-13 03:55:39 UTC (buildkit.dockerfile.v0)

EXPOSE map[3000/tcp:{}]

2025-04-13 03:55:39 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

2025-04-13 03:55:39 UTC (buildkit.dockerfile.v0)

CMD ["pnpm" "start"]

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete