インストール
npm install && npm run build && npm start向いている人
モデルに Docker Hub API 経由でイメージのコンテンツ発見をさせ、個人アクセストークンを付けたうえでリポジトリを管理したい人。ローカルに Docker が入り、Node.js 22+ があり、「トークンは任意だが、HTTP で HUB_PAT_TOKEN を載せた瞬間、その入口に届ける人はその身分でリポジトリを作成・変更できる」という前提を受け入れられる運用者向け。ウェブのカタログを眺めるだけ、あるいはソースのセキュリティ説明を読まずに HTTP ポートをネットワークへ出す予定の人には向かない。公式ページ: https://github.com/docker/hub-mcp
3 分で最初の試行
公式の一本道だけを使う。リポジトリのルートでビルドしたあと、デフォルトの stdio で起動する。最初は http に変えない。
前提条件:Docker がインストール済みで、Node.js 22+ があること。個人アクセストークンは任意。最初の試行ではトークンを HTTP トランスポートに結び付けない。
インストールと起動の場所:公式リポジトリのルートを開き、次を実行する。
npm install
npm run build
npm start
ソースのデフォルトトランスポートは stdio で、npm start -- [--transport=http|stdio] [--port=3000] [--host=127.0.0.1] も使える。最初はデフォルトのままでよい。
低リスクな操作:MCP クライアントが stdio プロセスに接続したあと、コンテンツ発見方向の呼び出しだけを行う。抜粋は intelligent content discovery と repository management とだけ書いてあり、具体的なツール名やパラメータはない。したがってクエリコマンドを捏造しない。クライアントが一覧したツールを基準にし、作成や変更ではなく、発見/照会に見える名前を優先する。
成功の合図:デフォルト stdio で npm start が動き続け、クライアントがツールを一覧できること。未ビルドや Node のバージョン不足ですぐ終了しないこと。プロセスがすぐ終わるなら、先に Node.js 22+ と npm run build の完了を確認する。
ユースケース
ケース 1:公開コンテンツの発見。ソースの「interfaces with Docker Hub APIs」および「intelligent content discovery」に対応する。デフォルト stdio で、トークンを必須にしない前提で、クライアントから発見系の呼び出しを 1 回出す。根拠にツール名、フィルタパラメータ、戻りフィールドは書かれていないので、呼び出しが Docker Hub API に届いたか、クライアントが結果または明確な API エラーを返したかだけを確認する。特定の検索構文があるとは仮定しない。
ケース 2:副作用のあるリポジトリ管理。ソースは、http トランスポートが操作者の HUB_PAT_TOKEN で毎回のツール呼び出しを送ると明記しており、その HTTP 入口に届ける人は creating and modifying repositories ができる。リポジトリ管理が必要なら、起動前にローカルでプロセスへトークンを渡す。ソースの例は HUB_PAT_TOKEN=... npm start -- [--username=...]。クライアントが自分のプロセスに接続しており、HTTP がまだ 127.0.0.1 だけにバインドされていることを確認してから、作成または変更を出す。確認点:Docker Hub 上の該当リポジトリに想定どおりの変更が出ること。根拠にリポジトリ管理ツールのパラメータ表はない。欠けている部分は「リポジトリを作成/変更する能力がある」までで止める。
利用の境界
HTTP はデフォルトで 127.0.0.1 にバインドされ、認証が必要。ソースはネットワークへ出す前に Securing the HTTP transport を読むよう求めている。hardening されていない HTTP を共有入口にしない。
操作者トークン付きの HTTP を他人が触れた瞬間、相手はその Docker Hub 身分でリポジトリを作成・変更できる。読み取り専用という注意もゼロリスクではない。プロセスは Docker Hub API にアクセスし、渡したトークンどおりに動く。
前提ではトークンは任意だが、抜粋は未認証時にどの非公開コンテンツが見えるかを書いていない。プライベートリポジトリが必ず読めるとは仮定しない。
根拠にクライアント一覧も完全な MCP ツール一覧もない。他の Hub プラグインのコマンドで穴埋めしない。Docker と Node.js 22+ が必要で、どちらか欠けても、抜粋に出てこない導入方法に切り替えない。