@rog0x/mcp-docker-tools について
@rog0x/mcp-docker-tools は、AI エージェント向けの Docker 管理 MCP サーバーです。コンテナやイメージの確認、Dockerfile と Compose 設定の分析、ログ取得に対応します。
主な機能
- 01コンテナの状態とリソース使用量の一覧
- 02イメージサイズとレイヤー数の表示
- 03Dockerfile の実践項目と安全性の分析
- 04Compose のサービス設定の確認
- 05条件を指定したコンテナログの取得
活用シーン
- 01稼働中または停止中のコンテナ確認
- 02イメージの詳細とサイズの確認
- 03Dockerfile と Compose 設定の評価
- 04コンテナログから該当箇所を検索
MCP 対応
MCP クライアントに、Docker の確認と分析を行う 5 つのツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| all | boolean | いいえ | true の場合、停止中のコンテナを含むすべてのコンテナを表示します。デフォルトは false(実行中のコンテナのみ)です。 |
| format | enum | いいえ | 出力形式:読みやすいテキストの 'table'、構造化データの 'json'。デフォルトは 'json' です。table | json |
詳細
mcp-docker-tools
Model Context Protocolに基づいて構築された、AI エージェント向けの Docker 管理ツールです。
コンテナ、イメージ、Dockerfile、Compose 設定を調査する 5 つのツールを提供します。すべて MCP を通じて LLM から利用できます。
ツール
| ツール | 説明 |
|---|---|
docker_container_list | ステータス、ポート、イメージ、作成日時、リソース使用量(CPU、メモリ、ネットワーク/ブロック I/O)とともに、実行中またはすべてのコンテナを一覧表示します |
docker_image_list | サイズ、タグ、作成日、レイヤー数とともに Docker イメージを一覧表示します |
docker_dockerfile_analyze | マルチステージビルド、非 root ユーザー、レイヤーキャッシュ、イメージサイズ、セキュリティなど、ベストプラクティスに照らして Dockerfile を分析します |
docker_compose_analyze | docker-compose.yml を分析します。サービス、ポート、ボリューム、ネットワーク、ヘルスチェック、依存関係、改善案を確認できます |
docker_container_logs | tail、キーワードフィルター、時間範囲、タイムスタンプを指定してコンテナログを取得します |
前提条件
- Node.js >= 18
- Docker CLI がインストールされ、PATH からアクセスできること
- Docker デーモンが実行中であること(コンテナ/イメージツールを使用する場合)
インストール
git clone <repo-url>
cd mcp-docker-tools
npm install
npm run build
Claude Desktop での使用方法
Claude Desktop の設定(claude_desktop_config.json)に追加します。
{
"mcpServers": {
"docker-tools": {
"command": "node",
"args": ["D:/products/mcp-servers/mcp-docker-tools/dist/index.js"]
}
}
}
Claude Code での使用方法
claude mcp add docker-tools node D:/products/mcp-servers/mcp-docker-tools/dist/index.js
または、.claude/settings.json に追加します。
{
"mcpServers": {
"docker-tools": {
"command": "node",
"args": ["D:/products/mcp-servers/mcp-docker-tools/dist/index.js"]
}
}
}
ツールの使用例
実行中のコンテナを一覧表示する
{ "tool": "docker_container_list" }
停止中のコンテナを含め、すべてのコンテナを一覧表示する
{ "tool": "docker_container_list", "args": { "all": true, "format": "table" } }
名前でフィルターしてイメージを一覧表示する
{ "tool": "docker_image_list", "args": { "filter": "node" } }
Dockerfile を分析する
{
"tool": "docker_dockerfile_analyze",
"args": {
"content": "FROM node:20\nCOPY . .\nRUN npm install\nCMD [\"node\", \"index.js\"]"
}
}
docker-compose.yml を分析する
{
"tool": "docker_compose_analyze",
"args": {
"content": "services:\n web:\n image: nginx\n ports:\n - 80:80"
}
}
コンテナログを取得する
{
"tool": "docker_container_logs",
"args": { "container": "my-app", "tail": 50, "filter": "error" }
}
ライセンス
MIT
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。