mcpField
P
Podman MCP Server

Podman MCP Server

ローカル
github.com/manusaクラウド・インフラ8510 週間前に更新

Podman MCP Server について

Podman MCP Server は、Podman と Docker の両方に対応したコンテナランタイム向けの MCP サーバーです。AI クライアントからコンテナ、イメージ、ネットワーク、ボリュームを管理したい開発者や運用担当者向けです。バックエンドは自動検出するか、api と cli の実装を指定できます。

主な機能

  1. 01コンテナの一覧表示、実行、停止、削除、詳細確認
  2. 02イメージのビルド、プル、プッシュ、削除
  3. 03ネットワークとボリュームの一覧表示
  4. 04api と cli バックエンドの自動検出または指定
  5. 05STDIO と HTTP のトランスポートモード

活用シーン

  1. 01AI クライアントから実行中のコンテナを一覧表示して確認
  2. 02Containerfile からイメージをビルドしてレジストリへプッシュ
  3. 03Claude Desktop や VS Code からローカルコンテナを管理

MCP 対応

本プロジェクトは MCP サーバーとして、コンテナ、イメージ、ネットワーク、ボリュームに関するツールを STDIO または HTTP 経由で MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"podman": {
"command": "npx",
"args": [
"-y",
"podman-mcp-server"
]
}
}
}
起動コマンドnpx -y podman-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmpodman-mcp-server0.0.15
pypipodman-mcp-server0.0.15

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Podman MCP Server

GitHub License npm PyPI - Version GitHub release (latest SemVer) Build

✨ 機能 | 🚀 はじめに | 📚 ドキュメント | 🎥 デモ | ⚙️ 設定 | 🛠️ ツール | 🧑‍💻 開発

✨ 機能

Podman と Docker に対応したコンテナランタイム向けの、強力で柔軟な MCP サーバーです。

🚀 はじめに

Claude Desktop
npx を使用する

npm がインストールされている場合、Claude Desktop で podman-mcp-server を使い始める最も手早い方法です。

claude_desktop_config.json を開き、mcp サーバーを mcpServers のリストに追加します:

{
  "mcpServers": {
    "podman": {
      "command": "npx",
      "args": [
        "-y",
        "podman-mcp-server@latest"
      ]
    }
  }
}
VS Code / VS Code Insiders

以下のいずれかのリンクをクリックして、Podman MCP サーバーをインストールします:

VS Code にインストール VS Code Insiders にインストール

または、次のコマンドを実行して拡張機能を手動でインストールできます:

# For VS Code
code --add-mcp '{"name":"podman","command":"npx","args":["-y","podman-mcp-server@latest"]}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"podman","command":"npx","args":["-y","podman-mcp-server@latest"]}'
Goose CLI

Goose CLI は、AI エージェントを手軽に(そして安価に)使い始める最も簡単な方法です。

npm を使用する

npm がインストールされている場合、podman-mcp-server を使い始める最も手早い方法です。

Goose の config.yaml を開き、mcp サーバーを mcpServers のリストに追加します:

extensions:
  podman:
    command: npx
    args:
      - -y
      - podman-mcp-server@latest

📚 ドキュメント

詳細なセットアップガイド、設定リファレンス、機能仕様については、ドキュメント を参照してください。

🎥 デモ

⚙️ 設定

Podman MCP サーバーは、コマンドライン(CLI)引数を使って設定できます。

CLI 実行ファイルは、npx を使うか、最新リリースのバイナリをダウンロードして実行できます。

# Run the Podman MCP server using npx (in case you have npm installed)
npx podman-mcp-server@latest --help
# Run the Podman MCP server using the latest release binary
./podman-mcp-server --help
設定オプション
オプション説明
--port, -p/mcp の Streamable HTTP エンドポイントと /sse の SSE エンドポイントを使用して、HTTP モードで MCP サーバーを起動します。
--output-format, -oリストコマンドの出力形式です。text(デフォルト。人が読みやすい表形式)または json を指定します。
--podman-impl使用する Podman の実装です。指定しない場合は自動検出されます。
--sse-port非推奨です。 代わりに --port を使用してください。SSE 専用モードで MCP サーバーを起動します。
--sse-base-url非推奨です。 エンドポイントメッセージの送信時に使用する SSE の公開ベース URL です。
トランスポートモード

サーバーは複数のトランスポートモードをサポートしています。

  1. STDIO モード(デフォルト)- 標準入力/出力を介して通信します
  2. HTTP モード(--port)- Streamable HTTP と SSE の両方のエンドポイントを備えた最新の HTTP トランスポートです
  3. SSE 専用モード(--sse-port)- 従来の Server-Sent Events トランスポートです(非推奨)
# Start HTTP server on port 8080 (Streamable HTTP at /mcp and SSE at /sse)
podman-mcp-server --port 8080

# Legacy SSE-only server on port 8080 (deprecated, use --port instead)
podman-mcp-server --sse-port 8080
Podman の実装

サーバーは複数の Podman バックエンド実装をサポートしています。

実装説明優先度
apiUnix ソケット経由の Podman REST API100(優先)
cliPodman/Docker CLI ラッパー50(フォールバック)

デフォルトでは、サーバーは利用可能な最適な実装を自動検出します。 Podman ソケットが利用可能な場合は api 実装が優先され、そうでない場合はフォールバックとして cli 実装が使用されます。

特定の実装を強制的に使用するには、--podman-impl フラグを使用します。

# Force CLI implementation
podman-mcp-server --podman-impl=cli

# Force API implementation (requires Podman socket)
podman-mcp-server --podman-impl=api

api 実装は Unix ソケット経由で Podman REST API と直接通信します。一方、cli 実装は podman または docker バイナリをシェルから実行します。

🛠️ ツール

コンテナー
  • container_inspect - 指定したコンテナー ID または名前の Docker または Podman コンテナーについて、低レベルの情報と設定を表示します

    • name (string) (required) - 情報を表示する Docker または Podman コンテナーの ID または名前
  • container_list - 実行中の Docker または Podman コンテナーの情報を出力します

  • container_logs - 指定したコンテナー ID または名前の Docker または Podman コンテナーのログを表示します

    • name (string) (required) - ログを表示する Docker または Podman コンテナーの ID または名前
  • container_remove - 指定したコンテナー ID または名前の Docker または Podman コンテナーを削除します(rm)

    • name (string) (required) - 削除する Docker または Podman コンテナーの ID または名前
  • container_run - 指定したイメージ名の Docker または Podman コンテナーを実行します

    • environment (array) - コンテナーに設定する環境変数です。形式:=。例:FOO=bar。(任意。環境変数を設定する場合のみ追加してください)
    • imageName (string) (required) - 実行する Docker または Podman コンテナーイメージの名前
    • ports (array) - ホスト上に公開するポートのマッピングです。形式::。例:8080:80。(任意。ポートを公開する場合のみ追加してください)
  • container_stop - 指定したコンテナー ID または名前の実行中の Docker または Podman コンテナーを停止します

    • name (string) (required) - 停止する Docker または Podman コンテナーの ID または名前
イメージ
  • image_build - Dockerfile、Podmanfile、または Containerfile から Docker または Podman イメージをビルドします

    • containerFile (string) (required) - イメージのビルド元となる Dockerfile、Podmanfile、または Containerfile の絶対パス
    • imageName (string) - ビルドが正常に完了した場合に、生成されたイメージに割り当てる名前を指定します(--tag、-t)
  • image_list - ローカルマシン上の Docker または Podman イメージを一覧表示します

  • image_pull - Docker または Podman コンテナーイメージをレジストリからローカルマシンのストレージにコピー(プル)します

    • imageName (string) (required) - プルする Docker または Podman コンテナーイメージの名前
  • image_push - ローカルマシンのストレージからレジストリに Docker または Podman コンテナーイメージ、マニフェストリスト、またはイメージインデックスをプッシュします

    • imageName (string) (required) - プッシュする Docker または Podman コンテナーイメージの名前
  • image_remove - ローカルマシンのストレージから Docker または Podman イメージを削除します

    • imageName (string) (required) - 削除する Docker または Podman コンテナーイメージの名前
ネットワーク
  • network_list - 利用可能なすべての Docker または Podman ネットワークを一覧表示します
ボリューム
  • volume_list - 利用可能なすべての Docker または Podman ボリュームを一覧表示します

🧑‍💻 開発

mcp-inspector での実行

プロジェクトをコンパイルし、mcp-inspector で Podman MCP サーバーを実行して、MCP サーバーを検査します。

# Compile the project
make build
# Run the Podman MCP server with mcp-inspector
npx @modelcontextprotocol/inspector@latest $(pwd)/podman-mcp-server

mcp-name: io.github.manusa/podman-mcp-server

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。