10.2. Satellite 用 MCP サーバーを使用してレポートを生成する
Satellite 用の MCP サーバーをデプロイし、MCP クライアントに接続します。次に、AI アプリケーションを使用して、Satellite Server にクエリーを実行し、環境に関するレポートを取得します。
このシナリオでは、MCP サーバーと MCP クライアントが同じシステム上で実行されます。各ユーザーは独自の MCP サーバーをデプロイし、認証情報を使用して認証します。
10.2.1. Satellite 用の MCP サーバーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Satellite 用の MCP サーバーをコンテナーとしてデプロイし、MCP クライアントからアクセスできるようにします。
この手順は、MCP クライアントが実行されるシステムで実行します。
前提条件
- registry.redhat.io コンテナーレジストリーにログインしている。
-
Satellite 用の CA バンドルがシステムで使用できる。
https://satellite.example.com/unattended/public/foreman_raw_caからダウンロードできます。
手順
オプション: レジストリーから最新バージョンの MCP コンテナーイメージをプルします。
podman pull registry.redhat.io/satellite/foreman-mcp-server-rhel9:latest
$ podman pull registry.redhat.io/satellite/foreman-mcp-server-rhel9:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーを実行します。
podman run --interactive --tty --publish 127.0.0.1:8080:8080 \ --volume Path_to_My_CA_Bundle:/app/ca.pem:ro,Z \ registry.redhat.io/satellite/foreman-mcp-server-rhel9:latest \ --foreman-url https://satellite.example.com
$ podman run --interactive --tty --publish 127.0.0.1:8080:8080 \ --volume Path_to_My_CA_Bundle:/app/ca.pem:ro,Z \ registry.redhat.io/satellite/foreman-mcp-server-rhel9:latest \ --foreman-url https://satellite.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドで使用されるオプションは次のとおりです。
--publish- コンテナー内のポート 8080 をホストのポート 8080 にマッピングし、ポートをローカルホストにバインドします。
--volumeホストマシンから CA 証明書バンドルをコンテナー内のデフォルトの場所 (
ca.pem) にマウントします。-
roはコンテナー内を読み取り専用モードにします -
Zは非公開の非共有ラベルで、ファイルのラベルを再設定します。
-
--Path_to_My_CA_Bundle- システム上の Satellite CA バンドルの場所を指定します。これは、Satellite への接続を確認するために必要です。
10.2.2. MCP サーバーに接続するための MCP クライアント設定 リンクのコピーリンクがクリップボードにコピーされました!
MCP クライアントを MCP サーバーに接続します。
この手順は、MCP サーバーを開始したのと同じシステムで実行します。
前提条件
- MCP クライアントは、カスタム HTTP ヘッダーの設定をサポートしている。
個人アクセストークン (PAT) を持っている。
注記Red Hat では、MCP クライアントの設定に使用される PAT に有効期限を設定することを推奨しています。
手順
HTTP 認可リクエストヘッダーで認証情報を渡すようにクライアントを設定します。正確な設定手順は、MCP クライアントによって異なります。
たとえば、一部のクライアントでは、次の内容の設定ファイルを作成する必要があります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.2.3. Satellite 用 MCP サーバーへのクエリー実行 リンクのコピーリンクがクリップボードにコピーされました!
AI アプリケーションで、自然言語を使用してクエリーを送信します。アプリケーションは、Satellite インベントリーから関連データを取得して処理します。
AI によって生成されたコンテンツは、実稼働環境で使用する前に必ず確認してください。
前提条件
- Satellite 用に MCP サーバーを設定した。
- MCP クライアントは Satellite 用の MCP サーバーに接続されている。
手順
AI アプリケーションにクエリーを入力します。以下に例を示します。
Show a list of hosts that require patching.
Show a list of hosts that require patching.Copy to Clipboard Copied! Toggle word wrap Toggle overflow AI アプリケーションはクエリーを解釈し、MCP クライアントに対して MCP サーバー経由で Satellite インベントリーから関連データを取得するように要求します。MCP クライアントはデータを取得して AI アプリケーションに返し、AI アプリケーションはそれを処理してユーザーに回答を提供します。
例10.1 クエリーの例
- ホストのクエリー
パッチ適用が必要なホストのリストを取得して絞り込むには、次のプロンプトを使用できます。
Show a list of hosts that require patching on my Satellite.
Show a list of hosts that require patching on my Satellite.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Categorize the list into hosts that require security patches and hosts that require bug fix patches.
Categorize the list into hosts that require security patches and hosts that require bug fix patches.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - サブネットのクエリー
Satellite インベントリー内のすべてのサブネットのレポートを取得するには、次のプロンプトを使用できます。
Generate a static report of all subnets on my Satellite. Read API documentation for each of the needed resources before doing any searches.
Generate a static report of all subnets on my Satellite. Read API documentation for each of the needed resources before doing any searches.Copy to Clipboard Copied! Toggle word wrap Toggle overflow For each subnet, report its name, address, network mask, and number of hosts which are assigned to it.
For each subnet, report its name, address, network mask, and number of hosts which are assigned to it.Copy to Clipboard Copied! Toggle word wrap Toggle overflow