🐳 Docker Explorer MCP サーバー
📋 概要
Docker Explorerは、Dockerイメージ、コンテナ、レジストリを操作するためのツールとリソースを提供する強力なModel Context Protocol(MCP)サーバーです。このサーバーにより、ClaudeのようなAIアシスタントは標準化されたインターフェースを介してDockerリソースを検索、分析、操作することができ、コンテナの管理と探索がより容易になります。
✨ 特徴
コア機能
レジストリ全体で Docker イメージを検索する
Dockerイメージの特定のタグを検索する
Docker Hubユーザー/組織を検索する
Dockerイメージに関する詳細なメタデータを取得する
Dockerfileの内容を分析する
Dockerイメージを比較する
高度なツール
🔒 セキュリティスキャナ:Dockerイメージの既知の脆弱性とセキュリティ問題を分析します
📦 イメージサイズオプティマイザー: Docker イメージのサイズを縮小するための推奨事項を取得します
📄 Docker Compose ジェネレーター: アプリケーション用の docker-compose.yml ファイルを生成します
📊 コンテナ ランタイム アナライザー: コンテナのランタイム動作とリソース使用状況に関する分析情報を取得します
🔍 イメージ比較ツール:2つのDockerイメージを比較し、違いを強調表示します
📜 Dockerfile ジェネレーター: 自然言語アプリケーション記述から Dockerfile を作成する
🚀 インストール
前提条件
Python 3.10以上
必要な Python パッケージ:
requests
、pydantic
設定
このリポジトリをクローンします:
仮想環境を作成する:
依存関係をインストールします:
または、個別のパッケージをインストールします。
💻 使用方法
サーバーの実行
コマンドラインから直接サーバーを実行できます。
これにより、デフォルトのポート (5000) で MCP サーバーが起動します。
Claude Desktopとの統合
Claude Desktop で Docker Explorer MCP サーバーを使用するには:
Claude デスクトップの構成を更新します。
Claude Desktop 構成ディレクトリで
claude_desktop_config.json
ファイルを開くか作成します。Docker Explorerサーバー構成を追加する
新しい設定をロードするには、 Claude Desktopを再起動してください。
ツールの使用
Claude Desktop と統合すると、次のような質問を Claude にすることで Docker Explorer ツールを使用できるようになります。
コアツール
Docker イメージを検索:
Can you search for Python Docker images?画像の詳細を取得:
What are the details of the python:3.11-slim image?利用可能なタグを検索:
What tags are available for the nginx image?
高度なツール
セキュリティスキャナー:
Scan the security of the nginx image画像サイズ最適化:
How can I reduce the size of my python:3.9 image?Docker Compose ジェネレーター:
Generate a docker-compose file for nginx with port 8080:80コンテナランタイムアナライザー:
Analyze the runtime behavior of mysql:5.7 as a database
👷 開発
プロジェクト構造
新機能の追加
Docker Explorer MCP サーバーに新しいツールを追加するには:
MCP ツール デコレータを使用して、
docker_explorer.py
にツール関数を実装します。
ツールの実装については、次のベスト プラクティスに従ってください。
Claude Desktop 向けに出力を簡潔かつフォーマット化します
例外を適切に処理する
明確なパラメータの説明を提供する
適切に構造化された結果を返す
テスト
手動テスト:
サーバーを実行します:
python docker_explorer.py
関連する質問をしてClaude Desktopでテストする
デバッグ:
端末出力にエラーがないか確認する
Claude Desktopでツールの応答を確認する
クロードに容量制限がある場合は出力フォーマットを調整する
📚 APIドキュメント
コアツール
search_images
説明: レジストリ間でDockerイメージを検索
パラメータ:
query
(文字列): Dockerイメージの検索クエリlimit
(整数、デフォルト=10): 返される結果の最大数
戻り値: メタデータを含む Docker イメージのリスト
search_tags
説明: Dockerイメージの特定のタグを検索します
パラメータ:
image_name
(文字列): Dockerイメージの名前tag_pattern
(文字列、デフォルト=""): タグにマッチするパターンlimit
(整数、デフォルト = 25): 返される結果の最大数
戻り値: 一致するタグのリスト
get_image_details
説明: Dockerイメージの詳細情報を取得します
パラメータ:
image_name
(文字列): Dockerイメージの名前tag
(文字列、デフォルトは「latest」): Dockerイメージのタグ
戻り値: 詳細な画像情報
高度なツール
scan_security
説明: Docker イメージの既知の脆弱性とセキュリティ問題を分析します
パラメータ:
image_name
(文字列): Dockerイメージの名前tag
(文字列、デフォルトは「latest」): スキャンするDockerイメージのタグ
リターン:推奨事項を含むセキュリティ分析レポート
optimize_image_size
説明: Dockerイメージを分析し、サイズを縮小する方法を提案します
パラメータ:
repository_url
(文字列): Docker Hubリポジトリへの完全なURLtag
(文字列、デフォルトは「latest」): 分析するDockerイメージのタグ
戻り値: サイズ最適化の推奨事項
generate_docker_compose
説明: イメージに基づいて docker-compose.yml ファイルを生成します
パラメータ:
repository_url
(文字列): Docker Hubリポジトリへの完全なURLtag
(文字列、デフォルトは「latest」): Dockerイメージのタグport_mapping
(文字列、デフォルト=""): オプションのポートマッピング(例: '8080:80')environment_variables
(文字列、デフォルト=""): オプションの環境変数include_db
(ブール値、デフォルト=false): データベースサービスを含めるかどうか
戻り値: 生成された docker-compose.yml の内容
analyze_runtime
説明: コンテナが実行時にどのように動作するかを分析する
パラメータ:
image_name
(文字列): Dockerイメージの名前tag
(文字列、デフォルトは「latest」): Dockerイメージのタグapp_type
(文字列、デフォルト = "web"): アプリケーションの種類 (Web、データベース、キャッシュ、API、バッチ)
リターン: リソース使用予測と推奨事項を含む実行時分析
compare_images
説明: 2つのDockerイメージを比較し、違いを強調表示します
パラメータ:
image1
(文字列): 比較する最初の Docker イメージ (例: 'nginx:1.21' または 'user/repo:tag')image2
(文字列): 比較する2番目のDockerイメージ(例: 'nginx:1.22' または 'user/repo:tag')
リターン: サイズ、レイヤー、構成、互換性の違いを強調した詳細な比較レポート
generate_dockerfile
説明:自然言語で記述されたアプリケーション要件に基づいてDockerfileを生成します
パラメータ:
app_description
(文字列): コンテナ化するアプリケーションの説明 (例: 'Redis を使用した Python Flask Web アプリ')app_type
(文字列、デフォルト = "web"): アプリケーションの種類 (web、api、database、worker、static)base_image
(文字列、デフォルトは ""): 使用するオプションのベースイメージ (例: 'python:3.9-alpine')include_comments
(ブール値、デフォルト=true): Dockerfileに説明コメントを含めるかどうか
戻り値: 使用方法の説明を含む生成されたDockerfile
🔒 セキュリティに関する考慮事項
Docker Explorer MCPサーバーは、教育および開発目的で設計されています。使用にあたっては、以下の点にご注意ください。
機密性の高い認証情報やAPIキーを公開しないでください
Docker Composeファイルを生成して実行する際には注意が必要です
実装前に必ずセキュリティ推奨事項を確認してください
📌 ライセンス
マサチューセッツ工科大学
👥 貢献する
貢献を歓迎します!新しいツールや既存の機能の改善に関するプルリクエストをお気軽に送信してください。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Docker イメージ、コンテナ、レジストリと対話するためのツールを提供するモデル コンテキスト プロトコル サーバー。これにより、AI アシスタントは標準化されたインターフェースを通じて Docker リソースを検索、分析、管理できるようになります。
Related MCP Servers
- AsecurityAlicenseAqualityA powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.Last updated -4390MIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables Docker container management through natural language interactions using a custom GPT interface.Last updated -12
- -securityAlicense-qualityA Model Context Protocol server that enables AI applications to interact with Dropbox, providing tools for file operations, metadata retrieval, searching, and account management through Dropbox's API.Last updated -4MIT License
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -331