IBM Bob (以降、Bob) に、直接OpenShift環境にアクセスして調査等を手伝ってほしいと思い、必要なセットアップをした記録です。Bobにやり方を聞いたところ、BobがOpenShift環境を操作する方法は大きく3つあるとのことでした。今回、その中でMCPを使った方法を選びました。
検証環境
- Windows 11
- IBM Bob 2.0.1
接続先OpenShift環境
- OpenShift 4.18
1. 前提ツールのインストール
- Bob (IBM Bob) をインストール
- Node.js をインストール
- oc CLI をインストール
- OpenShift CLI ダウンロード
- oc CLIのPATH設定
PowerShellで実行(管理者不要):
Bobの再起動後、ocコマンドが使用できればOK# 例: C:\tools\oc にoc.exeを置いた場合 [Environment]::SetEnvironmentVariable( "PATH", $env:PATH + ";C:\tools\oc", [EnvironmentVariableTarget]::User )> oc version Client Version: 4.18.0-202606090213.p2.g6febe61.assembly.stream.el9-6febe61 Kustomize Version: v5.4.2 error: You must be logged in to the server (Unauthorized)
2. OpenShift にログイン
oc login で接続したときに ~/.kube/config が生成され、kubernetes-mcp-server は起動時にその ~/.kube/config を自動的に読み込みます。
oc login --token=xxxxxxxxxxxxxxxx --server=https://OCP_URL
これで ~/.kube/config が生成されます。
トークンの期限切れなどにより、このログインが無効になるとMCPサーバーを使ったアクセスもできなくなります。再度ログインし直すことでアクセスを回復できます。
3. openshift-mcp-server をセットアップ
このステップは不要でした。当初Bobが示した手順では、バイナリをダウンロードするステップがありましたが、実際にはopenshift-mcp-server の実体は kubernetes-mcp-server という名前でnpmに公開されているため、必要ありませんでした。
openshift/openshift-mcp-server は実際には containers/kubernetes-mcp-server のフォークまたはミラーで、本体は別リポジトリです。しかもnpmパッケージとして配布されています。npx で直接使えるので、バイナリのダウンロードは不要です!
4. BobのMCP設定に追加
BobのMCP設定ファイルに書き込み、MCP Server として登録します。
当初Bobが提案したコマンドでは、mcp.jsonファイルがBOMつきになってしまい、設定が正常に読み取られない状況が発生しました。以下はPowerShell 5.1でもうまくいくコマンドです。
注)PowerShell 5.1の-Encoding utf8はBOMつきになります。
$config = @'
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["-y", "kubernetes-mcp-server@latest"]
}
}
}
'@
[System.IO.File]::WriteAllText(
"$env:USERPROFILE\.bob\settings\mcp.json",
$config,
[System.Text.Encoding]::UTF8
)
$config = @'
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["-y", "kubernetes-mcp-server@latest"]
}
}
}
'@
$config | Set-Content "$env:USERPROFILE\.bob\settings\mcp.json" -Encoding UTF8
Bobを再起動します。初回に npx が kubernetes-mcp-server パッケージをダウンロードします。
Bob Settings のMCPパネルで kubernetes-mcp-server が Connected になれば完了です。
以上のセットアップで、Bobのチャットから直接OpenShift環境を操作できるようになります。
Bobにできることを聞くと、できる操作の一覧表とともに「Pod・Deployment・Service・Route などほぼすべてのリソースの読み取り・作成・更新・削除ができます。」と答えました。以下は実行例です。
補足)openshift-mcp-server と kubernetes-mcp-server
openshift-mcp-serverとkubernetes-mcp-serverの違いが気になり、Bobに質問してみました。
結論:openshift-mcp-server と kubernetes-mcp-server は同じものです
openshift/openshift-mcp-server リポジトリのREADMEを開くと、タイトルが 「Kubernetes MCP Server」 で、バッジもすべて containers/kubernetes-mcp-server を指しています。
つまり:
- openshift/openshift-mcp-server は containers/kubernetes-mcp-server のミラーリポジトリ
- 実体・npm パッケージ・バイナリはすべて containers/kubernetes-mcp-server に存在する
- 今回使っている npx kubernetes-mcp-server@latest がまさに openshift-mcp-server の本体
OpenShift固有の機能も含まれているか
READMEのToolsets一覧を見ると、openshift という専用ツールセットが存在しています:
| Toolset | 内容 |
|---|---|
| openshift | OpenShift固有のクラスター管理・トラブルシューティングツール |
| ossm | OpenShift Service Mesh (OSSM) 管理ツール |
デフォルトでは無効なので、有効にしたい場合は mcp.json に --toolsets を追加できます:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["-y", "kubernetes-mcp-server@latest", "--toolsets", "core,config,openshift,helm,tekton"]
}
}
}
デフォルトで有効なツールセット
| Toolset | 内容 |
|---|---|
| core | Pod操作、リソースCRUD、Events、Node情報、Pod exec/logs |
| config | kubeconfig の表示・管理 |
追加できるツールセット(OpenShift環境で特に有用なもの)
| Toolset | 内容 |
|---|---|
| openshift | ・plan_mustgather — クラスターのトラブルシューティングデータ(must-gather)の収集計画を立てる ・cluster-health-check — クラスター全体の包括的な健全性チェック |
| cluster-diagnostics | ・nodes_debug_exec — Nodeに特権デバッグPodを立ち上げてコマンド実行(journalctl、systemctl、ss、chroot /host など) |
| helm | ・Helm チャートのインストール、一覧、アンインストール |
| tekton | ・Tekton Pipeline/Task の起動、再起動、ログ取得 |
| ossm(OpenShift Service Mesh使用時) | ・サービス間トラフィックのトポロジー可視化 ・Istio設定の読み書き ・分散トレースの一覧、詳細 ・メッシュ全体の健全性チェック |
| oadp(バックアップ/リストア使用時) | ・Veleroバックアップ・リストアのトラブルシューティングガイド生成 |


