Assisted Service MCP Server について
Assisted Service MCP Server は OpenShift Assisted Installer API を MCP に接続し、クラスターの問題診断やインストール管理に利用できます。STDIO と SSE に対応し、情報照会から設定、インストール実行まで行えます。
主な機能
- 01クラスター一覧と詳細の取得
- 02クラスターと infraenv の作成
- 03クラスターインストールの開始
- 04クラスターとホストのイベント照会
- 05VIP とホストロールの設定
- 06バージョン照会と Operator bundle の追加
活用シーン
- 01クラスターのインストール失敗の調査
- 02クラスターやホストのイベント確認
- 03Assisted Installer クラスターの作成と開始
MCP 対応
MCP サーバーとして、OpenShift Assisted Installer のクラスター、ホスト、イベント、バージョン、Operator bundle を管理するツールを提供します。STDIO と SSE に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Assisted Service MCP Server
OpenShift assisted installer API とやり取りするための MCP サーバーです。
クラスターの障害を診断し、解決方法を確認できます。
お試しください:
- リポジトリをクローンします:
git clone [email protected]:carbonin/assisted-service-mcp.git
-
https://cloud.redhat.com/openshift/token から OpenShift API トークンを取得します。
-
使用するトランスポートに応じて、サーバーの起動方法と設定方法が異なります。
STDIO の場合:
たとえば VSCode では:
"mcp": {
"servers": {
"AssistedService": {
"command": "uv",
"args": [
"--directory",
"/path/to/assisted-service-mcp",
"run",
"mcp",
"run",
"/path/to/assisted-service-mcp/server.py"
],
"env": {
"OFFLINE_TOKEN": <your token>
}
}
}
}
SSE の場合(推奨):
ターミナルでサーバーを起動します:
OFFLINE_TOKEN=<your token> uv run server.py
クライアントでサーバーを設定します:
"assisted-sse": {
"transport": "sse",
"url": "http://localhost:8000/sse"
}
リクエストヘッダーによるオフライントークンの指定
OFFLINE_TOKEN 環境変数を設定しない場合は、リクエストヘッダーでトークンを指定できます。
MCP クライアントを設定する際に、OCM-Offline-Token ヘッダーを追加します:
"assisted-sse": {
"transport": "sse",
"url": "http://localhost:8000/sse",
"headers": {
"OCM-Offline-Token": "<your token>"
}
}
- クラスターについて質問します:

利用可能なツール
MCP サーバーには、OpenShift Assisted Installer とやり取りするための次のツールが用意されています:
クラスター管理
-
list_clusters - 現在のユーザーの assisted installer クラスターをすべて一覧表示します。最小限のクラスター情報を返します。
-
cluster_info - 指定した ID の assisted installer クラスターに関する詳細情報を取得します
cluster_id:クラスター ID(文字列、必須)
-
create_cluster - 新しい assisted installer クラスターと infraenv を作成します。single_node は、シングルノードクラスターを作成する場合、または高可用性が不要な場合にのみ true に設定してください。クラスター ID と infraenv ID を JSON で返します。
name:クラスター名(文字列、必須)version:OpenShift のバージョン(文字列、必須)base_domain:クラスターのベースドメイン(文字列、必須)single_node:シングルノードクラスターを作成するかどうか(ブール値、必須)
-
install_cluster - 指定した ID の assisted installer クラスターのインストールを開始します
cluster_id:クラスター ID(文字列、必須)
-
set_cluster_vips - クラスターの API および ingress の仮想 IP アドレス(VIP)を設定します
cluster_id:クラスター ID(文字列、必須)api_vip:API の仮想 IP アドレス(文字列、必須)ingress_vip:Ingress の仮想 IP アドレス(文字列、必須)
イベントとモニタリング
-
cluster_events - 指定した ID のクラスターに関連するイベントを取得します
cluster_id:クラスター ID(文字列、必須)
-
host_events - クラスター内の特定のホストに関連するイベントを取得します
cluster_id:クラスター ID(文字列、必須)host_id:ホスト ID(文字列、必須)
インフラストラクチャ環境
- infraenv_info - 指定した ID の assisted installer infra env に関する詳細情報を取得します。ISO のダウンロード URL や infra env のメタデータなどが含まれます。
infraenv_id:インフラストラクチャ環境 ID(文字列、必須)
ホスト管理
- set_host_role - ホストのロールを指定したものに更新します。ロールの選択肢は「auto-assign」、「master」、「arbiter」、「worker」です。
host_id:ホスト ID(文字列、必須)infraenv_id:インフラストラクチャ環境 ID(文字列、必須)role:ホストのロール(文字列、必須)
OpenShift のバージョンとオペレーター
-
list_versions - assisted installer によるインストールで利用可能な OpenShift のバージョンを一覧表示します
-
list_operator_bundles - インストール中にクラスターへ追加できるオプションのオペレーターバンドルを一覧表示します
-
add_operator_bundle_to_cluster - 指定したクラスターにオペレーターバンドルをインストールするようリクエストします
cluster_id:クラスター ID(文字列、必須)bundle_name:オペレーターバンドル名(文字列、必須)
使用例
- クラスターをすべて一覧表示:「自分のクラスターをすべて表示して」
- クラスターの詳細を取得:「クラスター abc123 の詳細情報を教えて」
- クラスターを作成:「OpenShift 4.14 とベースドメイン「example.com」で「my-cluster」という新しいクラスターを作成して」
- クラスターのイベントを確認:「クラスター abc123 でどんなイベントが発生した?」
- クラスターをインストール:「クラスター abc123 のインストールを開始して」
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。