Custom CatalogsとProfilesとは

Dockerが、MCP(Model Context Protocol)サーバーの管理・配布を組織レベルで行うためのCustom Catalogsと、開発者個人がワークフロー別にMCPサーバーをグルーピングできるProfilesのGA(一般提供)を発表した。

MCPの普及が進むなかで、チームが直面する課題は「ツールへのアクセス」ではなく「ツールの統制」にある。Custom CatalogsとProfilesは、組織が推奨するものと個人の作業方法を分離し、MCPをスケーラブルに運用するための仕組みとして設計されている。

Custom Catalogs

組織が承認済みMCPサーバーのコレクションをキュレーションし、OCIアーティファクトとして配布する仕組み。Docker MCP Catalog、コミュニティソース、社内開発サーバーを1つに統合できる。

Profiles

MCPサーバーの名前付きグルーピング。用途別(coding / planning等)にサーバー構成を切り替え、設定の永続化やツール単位の有効/無効制御が可能。

カスタムカタログの作成手順

カスタムカタログは、Docker MCP Catalogの公開サーバーと自作サーバーを組み合わせて作成する。作成したカタログはOCIアーティファクトとしてレジストリにpushし、チーム全体で共有できる。

ワークフロー

1

カスタムMCPサーバーの準備

MCPサーバーをDockerイメージとしてビルドし、Docker Hubにpush。メタデータをYAMLファイルで定義する。

2

カタログの作成

docker mcp catalog create で、catalog://(公開カタログ)とfile://(ローカルYAML)を組み合わせてカタログを定義。

3

確認と共有

docker mcp catalog show で内容を検証し、docker mcp catalog push でOCIレジストリに公開。

4

チームへの配布

Docker Desktopの「Import catalog」またはCLIのdocker mcp catalog pullでカタログを取り込む。

カタログ作成コマンドの例

docker mcp catalog create myorg/our-catalog \ --title "Our Catalog" \ --server catalog://mcp/docker-mcp-catalog/playwright \ --server catalog://mcp/docker-mcp-catalog/github-official \ --server file://./mcp-dice.yaml

プライベートカタログ: Docker Hubのリポジトリアクセス管理をそのまま利用できるため、カタログ専用の新しいインフラを構築する必要はない。

Profilesの活用パターン

Profilesは、MCPサーバーのグルーピングにとどまらず、設定の永続化、ツール単位の制御、チーム間共有まで対応する。以下は代表的な活用パターン。

ワークフローの切り替え

用途別にProfileを作成し、エージェントクライアントを再割り当てするだけで、利用するMCPツールセットを丸ごと切り替えられる。

ProfileMCPサーバー用途
codingPlaywright, GitHub, Context7コーディング作業
planningAtlassian, Markitdown, Notion企画・計画作業

クライアント(Claude Code等)はどちらのProfileにも接続可能で、切り替えは再割り当てだけで完了する。特定のエージェントに限定されないポータブルな設計になっている。

設定の永続化

MCPサーバーの設定オプション(アクセスパス、認証情報など)をProfile内に保存できる。一度設定すれば、再利用のたびに再設定する必要がない。

コンテキストウィンドウの最適化

MCPサーバーが多数のツールをエクスポートすると、コンテキストウィンドウが圧迫される。Profileでは、サーバー内の個別ツールの有効/無効を切り替えられるため、必要なツールだけをエージェントセッションに露出できる。

コンテキストの節約: 例えばGitHub MCPサーバーのget_meツールだけを有効化し、他の全ツールを無効化することで、コンテキストウィンドウへの影響を最小限に抑えられる。

Profileの共有

カスタムカタログと同様に、ProfileもOCIアーティファクトとしてコンテナレジストリにpush/pullで共有できる。

# Profileの共有 docker mcp profile push coding myorg/coding docker mcp profile pull myorg/coding

組織への導入を見据えた設計

Custom CatalogsとProfilesの組み合わせは、MCPの組織的な採用において「何を推奨するか(カタログ)」と「どう使うか(プロファイル)」を分離する設計になっている。

プラットフォームチームはカタログで標準を定義し、開発者はProfileで自分の作業に最適な構成を組み立てる。この分離により、ガバナンスと柔軟性の両立が可能になる。

今後のロードマップ

予定項目内容
ガバナンスポリシー承認済みカタログと信頼されたサーバーソースへの使用制限
Profile単位のシークレットプロジェクトレベルのmcp.jsonに代わるセキュアな設定管理
エージェントスキルとの連携スキルがProfileを依存関係として参照し、必要なMCPサーバーを自動取得
検索性の向上カタログとProfile双方の発見性・共有性の改善

DockerのCustom CatalogsとProfilesは、MCPサーバーの管理を「組織の標準化」と「個人のワークフロー最適化」の2層に分離する仕組みとして提供された。OCIアーティファクトによる配布、ツール単位のコンテキスト制御、クライアント非依存のポータブル設計が特徴。Docker Desktop 4.63以降で利用可能。