MENU

 Docker公式MCPレジストリとは?安全なAIツール展開手順

当ページのリンクには広告が含まれています。

AIエージェントと外部ツールをつなぐ標準規格「MCP (Model Context Protocol)」の普及に伴い、Docker社が公式に「Docker MCP レジストリ」を公開しました。

これは、セキュリティと品質が保証されたMCPサーバーの厳選カタログです。DifyなどのAIアプリケーションを運用する際、信頼できるMCPサーバーをDockerコンテナとして即座にデプロイできる環境が整いつつあります。

この記事では、Docker MCPレジストリの概要と、開発者が自身のMCPサーバーをこのレジストリに登録(貢献)するための手順を解説します。

目次

Docker MCP レジストリを使用するメリット

なぜ、GitHubなどで公開されているコードを直接使うのではなく、Docker MCPレジストリ経由で利用するべきなのでしょうか?主な理由は以下の通りです。

  • エンタープライズレベルのセキュリティ: Dockerによってビルドされたイメージには、暗号化署名、出所追跡、SBOM(ソフトウェア部品表)が含まれており、信頼性が担保されています。
  • コンテナによる分離: すべてのMCPサーバーは独立したコンテナ内で実行されるため、ホストシステム(Difyが稼働しているサーバーなど)へのセキュリティリスクを最小限に抑えられます。
  • 簡単な検出とデプロイ: Docker Desktopの「MCPツールキット」やカタログから、ユースケースに合ったサーバーを簡単に見つけ、標準化された方法でデプロイできます。

レジストリへの貢献(サーバー登録)プロセス

自作のMCPサーバーを公式レジストリに登録し、世界中の開発者に利用してもらうための手順を解説します。

前提条件

  • Go言語 (v1.24以上)
  • Docker Desktop
  • Task (タスクランナー)

登録オプションの選択

登録には2つの方法がありますが、「オプションA」が推奨されています。

オプション内容メリット
A: Dockerビルド (推奨)Docker社があなたのリポジトリからイメージをビルド・署名・公開する自動セキュリティ更新、署名付き、Docker Hubの公式名前空間で公開
B: 自己ビルド自分でビルドしたイメージを提供するコンテナ分離のメリットはあるが、セキュリティ機能は限定的

登録のステップバイステップ手順

1. リポジトリの準備

まず、公式リポジトリを自分のGitHubアカウントにフォークし、ローカルにクローンします。

2. サーバー構成の生成

server.yaml という設定ファイルを作成します。これを簡単に行うためのウィザードが用意されています。

task wizard

または、コマンドラインで直接生成することも可能です。以下はデータベース接続用MCPサーバーの例です。

task create -- --category database https://github.com/myorg/my-orgdb-mcp -e API_TOKEN=test

これにより、servers/ ディレクトリ内に以下のような server.yaml が自動生成されます。

name: my-orgdb-mcp
image: mcp/my-orgdb-mcp
type: server
meta:
  category: database
  tags:
    - database
about:
  title: My OrgDB MCP (TODO)
  description: TODO (only to provide a better description than the upstream project)
  icon: https://avatars.githubusercontent.com/u/182288589?s=200&v=4
source:
  project: https://github.com/myorg/my-orgdb-mcp
config:
  description: Configure the connection to TODO
  secrets:
    - name: my-orgdb-mcp.api_token
      env: API_TOKEN
      example: <API_TOKEN>
config:
  description: Configure the connection to AWS
  secrets:
    - name: tigris.aws_secret_access_key
      env: AWS_SECRET_ACCESS_KEY
      example: YOUR_SECRET_ACCESS_KEY_HERE
  env:
    - name: AWS_ACCESS_KEY_ID
      example: YOUR_ACCESS_KEY_HERE
      value: '{{tigris.aws_access_key_id}}'
    - name: AWS_ENDPOINT_URL_S3
      example: https://fly.storage.tigris.dev
      value: '{{tigris.aws_endpoint_url_s3}}'
  parameters:
    type: object
    properties:
      aws_access_key_id:
        type: string
    required:
      - aws_access_key_id

3. ローカルでのテスト実行

作成した設定が正しく動作するか、ローカル環境でテストします。

# イメージのビルドとカタログへのインポート 
task build -- my-orgdb-mcp 
task catalog -- my-orgdb-mcp 
docker mcp catalog import $PWD/catalogs/my-orgdb-mcp/catalog.yaml

Docker Desktopの「MCP Toolkit」を開き、新しいサーバーが表示され、正常に動作することを確認してください。

4. プルリクエストの送信

テストが完了したら、フォークしたリポジトリから本家リポジトリへプルリクエスト(PR)を送信します。

Dockerチームによるレビューと承認が行われると、24時間以内に公式カタログに掲載されます。

まとめ

Docker MCPレジストリへの貢献は、あなたの作成したAIツールを安全かつ標準的な方法で世界中に配布する絶好の機会です。

Difyユーザーにとっても、「Docker公式の安心できるMCPサーバー」が増えることは、環境構築のハードルを下げる大きなメリットとなります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次