MCPサーバ - Docker
概要
Docker MCP Catalog and Toolkitは、Docker社が提供するMCPサーバの統合管理プラットフォームである。
Docker Desktopに組み込まれた Docker MCP Toolkit と Docker MCP Catalog から構成される。
Docker MCP Catalogは200以上の検証済みMCPサーバを含む信頼できるレジストリであり、Docker Hub上で配布されている。
Docker MCP Toolkitは、MCPサーバのセットアップ・管理・実行を行うDocker Desktopに統合されたUIツールである。
Claude Desktop、Claude Code、VS Code、Cursor等の主要AIクライアントと統合できる。
Windows、MacOS、Linuxの主要なOSに対応しており、Docker Desktop 4.59以降で利用可能である。
主な特徴は以下の通りである。
- 200以上の検証済みMCPサーバへのアクセス (Docker MCP Catalog)
- Docker DesktopのUIからMCPサーバを簡単にセットアップ・管理 (Docker MCP Toolkit)
- コンテナ隔離によるセキュアなMCPサーバ実行環境
- Docker社によるデジタル署名とSBOM (ソフトウェア部品表) による信頼性の確保
- Docker Desktopの暗号化シークレット機能による認証情報の安全な管理
- Stripe、Elastic、Neo4j、Grafana等200以上のパートナー製MCPサーバに対応
主要コンポーネント
Docker MCP Catalog and Toolkitは、3つの主要コンポーネントで構成されている。
Docker MCP Catalog
200以上のMCPサーバを含む信頼できるレジストリである。
Docker Hub上で mcp/ 名前空間以下に配布されており、Docker社によるデジタル署名とSBOMが付与されている。
主なパートナーMCPサーバは以下の通りである。
- Stripe
- Elastic
- Neo4j
- Grafana
- New Relic
- Atlassian
- Slack
- Notion
- Kong
- GitLab
Docker MCP Toolkit
Docker Desktopに統合されたUIツールである。
MCPサーバのセットアップ・管理・実行を行い、AIクライアントとの接続設定を自動化する。
Docker MCP Gateway
MCPサーバのコンテナ管理とAIクライアント間の通信を仲介するCLIプラグインである。
- GitHub
以下に示す2つの方法で実行できる。
- CLI経由
docker mcp gateway run
- npx経由
npx @docker/mcp-gateway
動作要件
前提条件
Docker MCP Catalog and Toolkitを使用するために必要な前提条件を以下に示す。
- Docker Desktop 4.59以降
- Docker MCP Toolkitが統合されている最低バージョン
- 対応OS
- Windows
- MacOS
- Linux
インストール
Docker DesktopでのMCP Toolkitの有効化
Docker Desktop上でDocker MCP Toolkitを有効化する手順を以下に示す。
- Docker Desktopを起動する。
- [Settings] - [Beta Features]を開く。
- [Enable Docker MCP Toolkit]にチェックを入力する。
- Docker Desktopを再起動する。
有効化後、Docker Desktopのサイドバーに[MCP Toolkit]のタブが表示される。
MCPクライアントの設定
Docker MCP Toolkitでは、Docker DesktopのUIからAIクライアントへの接続設定を自動的に行うことができる。
Claude Desktopの設定
Docker DesktopのClientsタブからClaude Desktopを選択して、[Connect]を選択することにより自動設定が行われる。
手動で設定する場合は、Claude Desktopの設定ファイルに以下に示す内容を設定する。
Claude Desktopの設定ファイルの場所は以下の通りである。
- Linux
- ~/.config/Claude/claude_desktop_config.json
- MacOS
- ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows
- %APPDATA%\Claude\claude_desktop_config.json
設定ファイルに以下の内容を追記する。
{
"mcpServers": {
"docker": {
"command": "docker",
"args": ["mcp", "gateway", "run"]
}
}
}
設定ファイルを保存した後、Claude Desktopを再起動して設定を反映する。
Claude Codeの設定
Docker DesktopのClientsタブからClaude Codeを選択して、[Connect]を選択することにより設定が行われる。
CLIで設定する場合は、以下に示すコマンドを実行する。
docker mcp client connect claude-code
.mcp.json ファイルに手動で設定する場合は、以下に示す内容を設定する。
{
"mcpServers": {
"docker": {
"command": "docker",
"args": ["mcp", "gateway", "run"]
}
}
}
VS Codeの設定
settings.json ファイルに以下に示す内容を設定した後、以下に示すコマンドを実行する。
{
"mcp": {
"servers": {
"docker": {
"command": "docker",
"args": ["mcp", "gateway", "run"]
}
}
}
}
docker mcp client connect vscode
Cursorの設定
Docker DesktopのClientsタブからCursorを選択して、[Connect]を選択する。
設定適用後、Cursorを完全に終了して再起動する。
提供されるMCPサーバのツール
Docker Hub MCP Serverのツール
Docker Hub MCP Serverは、コンテナイメージとリポジトリの検索・情報取得に関するツールを提供する。
| ツール | 説明 |
|---|---|
search_images |
自然言語によるコンテナイメージの検索を行う。 |
get_image_details |
指定したイメージの詳細情報を取得する。 |
get_image_tags |
指定したイメージのタグ一覧を取得する。 |
search_repositories |
Docker Hub上のリポジトリを検索する。 |
get_repository_details |
指定したリポジトリの統計情報を取得する。 |
Dockerコンテナ管理MCPサーバのツール
Dockerコンテナ管理MCPサーバは、コンテナおよびイメージの管理に関するツールを提供する。
| ツール | 説明 |
|---|---|
list_containers |
実行中および停止中のコンテナ一覧を表示する。 |
create_container |
新しいコンテナを作成する。 |
start_container |
指定したコンテナを起動する。 |
stop_container |
指定したコンテナを停止する。 |
remove_container |
指定したコンテナを削除する。 |
get_container_logs |
指定したコンテナのログを取得する。 |
list_images |
ローカルのDockerイメージ一覧を表示する。 |
pull_image |
Docker Hubから指定したイメージをプルする。 |
deploy_compose |
Docker Composeスタックをデプロイする。 |
使用方法
MCPサーバを設定後、AIアシスタントに自然言語で指示するだけで、対応するツールが自動的に呼び出される。
Docker Hub MCPサーバの使用例
Docker Hubのイメージやリポジトリを検索・確認する操作例を以下に示す。
- Nginxの最新イメージを検索する場合
# プロンプト例 : Docker Hubから公式のNginxイメージを検索して、最新のタグ一覧を表示してください。
- Pythonイメージの詳細情報を確認する場合
# プロンプト例 : python:3.12-slimイメージの詳細情報とサイズを教えてください。
Dockerコンテナ管理MCPサーバの使用例
コンテナとイメージの管理に関する操作例を以下に示す。
- 実行中のコンテナを確認する場合
# プロンプト例 : 現在実行中のDockerコンテナ一覧を表示してください。
- コンテナのログを確認する場合
# プロンプト例 : my-appコンテナの最新100行のログを表示してください。
- Docker Composeスタックをデプロイする場合
# プロンプト例 : docker-compose.ymlを使用してアプリケーションスタックをデプロイしてください。
セキュリティ
セキュリティ機能の概要
Docker MCP Catalog and Toolkitは、MCPサーバの安全な実行のために複数のセキュリティ機能を提供する。
| 機能 | 説明 |
|---|---|
| コンテナ隔離 | 各MCPサーバはコンテナとして実行され、リソース制限が適用される。 CPU使用率は1コア以下、メモリは2[GB]以上の割り当てが推奨される。 |
| デジタル署名 | Docker Hub上のmcp/カタログイメージはDocker社がデジタル署名を行っている。 |
| SBOM (ソフトウェア部品表) | 全てのカタログイメージにSBOMが含まれており、コンポーネントの透明性を確保している。 |
| シークレット管理 | Docker Desktopの暗号化シークレット機能を使用して、APIキー等の認証情報を安全に保管する。 |
| ツール許可リスト | 特定のツールのみを許可する設定が可能であり、AIアシスタントが使用できるツールを制限できる。 |
セキュリティに関する推奨事項
Docker MCP Catalog and Toolkitを安全に使用するための推奨事項を以下に示す。
- APIキーや認証情報は、設定ファイルに直接記述せず、Docker Desktopのシークレット管理機能を使用して保管する。
- ツール許可リストを設定して、AIアシスタントが実行できる操作を必要最小限に制限する。
- Docker Hub上のイメージはDocker社が署名した検証済みのものを使用し、非公式イメージの使用は避ける。
- コマンドインジェクション対策として、AIアシスタントからの操作実行前にユーザ確認が求められる場合がある。これは正常な動作である。
トラブルシューティング
よくある問題と対処法
下表に、Docker MCP Catalog and Toolkitの使用時に発生しやすい問題と対処法を示す。
| 問題 | 原因 | 対処法 |
|---|---|---|
| Docker DesktopがMCP Toolkitを認識しない | Beta FeaturesでDocker MCP Toolkitが有効になっていない。 または、Docker Desktopのバージョンが古い。 |
[Settings] - [Beta Features]を開いて、 [Enable Docker MCP Toolkit]を有効化してDocker Desktopを再起動する。 Docker Desktopを4.59以降にアップデートする。 |
| MCPクライアントが接続できない | クライアントの設定が正しく適用されていない。 または、MCP Gatewayが起動していない。 |
Docker DesktopのClientsタブで接続状態を確認して、 [Connect]で再接続する。 MCPクライアントを完全に終了して再起動する。 |
| MCPサーバが起動しない | Docker Desktopが実行されていない。 または、リソースが不足している。 |
docker ps コマンドでDocker Desktopの動作を確認する。[Settings] - [Resources]でリソース割り当てを確認・調整する。 コンテナログを確認してエラーの詳細を調べる。 |
| APIキーが認識されない | 環境変数や認証情報の設定が正しくない。 | Docker Desktopの[Config]タブで環境変数の設定を再確認する。 設定変更後にMCPサーバを再起動する。 |
| セキュリティ警告が表示される | コマンドインジェクション対策によるユーザ確認が求められている。 | これは正常な動作である。 内容を確認して、問題がなければ許可する。 |