OCM MCP Server について
OCM MCP Serverは、Red Hat OpenShift Cluster Managerのデータを読み取り専用で利用できるサーバーです。クラスター運用者向けに、詳細情報、監視、インフラ、アカウント操作を扱い、HCPとClassicの種別を自動判定します。
主な機能
- 01クラスター検索と状態確認
- 02ログ、アラート、メトリクスの表示
- 03ネットワークと構成の確認
- 04アカウント、サブスクリプション、組織の検索
- 05HCPとClassicの種別判定
活用シーン
- 01クラスターの健全性とプロビジョニング状態の確認
- 02アラート、ログ、ノードメトリクスの確認
- 03プール、ネットワーク、アクセス設定の調査
- 04サブスクリプションと組織の詳細取得
MCP 対応
OCMのクラスター、サービスログ、アカウントAPIを照会する30種類の読み取り専用ツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OCM MCP サーバー
Red Hat OpenShift Cluster Manager(OCM)API 操作用の Model Context Protocol(MCP)サーバーです。クラスター管理、監視、アカウント操作、インフラストラクチャの調査に対応する、読み取り専用のツールを30個提供します。HCP(Hosted Control Plane)とClassicのクラスターに対応し、種類を自動的に検出します。
インストール
前提条件
- Python 3.13+
- uv パッケージマネージャー
セットアップ
-
クローンとインストール
git clone <repository-url> cd mcp-ocm uv sync -
環境設定 Red Hat API 認証情報を含む
.envファイルを作成します。# Required: Your Red Hat API offline token RH_API_OFFLINE_TOKEN=your_offline_token_here # Optional: OCM API base URL (defaults to https://api.openshift.com) OCM_BASE_URL=https://api.openshift.comオフライントークンはRed Hat API Tokensから取得してください。
使用方法
MCP クライアントの設定
{
"mcpServers": {
"ocm": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/mcp-ocm",
"run",
"ocm_mcp_server.py"
],
"env": {
"RH_API_OFFLINE_TOKEN": "your_actual_offline_token_here"
}
}
}
}
ツールのリファレンス(30個のツール)
クラスター情報と検索
| ツール | 用途 |
|---|---|
ocm_get_cluster | HCP/Classicを判別したクラスターの詳細 |
ocm_search_clusters | 名前、状態、リージョンなどでクラスターを検索(OCM検索構文) |
ocm_get_cluster_status | クラスターの状態(DNSの準備状況、プロビジョニング状態、健全性) |
ocm_get_cluster_resources | 現在利用可能なクラスターリソース(CPU、メモリ) |
プールとノード
| ツール | 用途 |
|---|---|
ocm_get_cluster_machine_pools | マシンプール(Classic)またはノードプール(HCP)を自動検出 |
ログ
| ツール | 用途 |
|---|---|
ocm_get_cluster_service_logs | ページネーションに対応したサービスログ(ページ/サイズのパラメーター) |
ocm_get_cluster_install_logs | インストールログと履歴 |
ocm_get_cluster_uninstall_logs | アンインストールログ |
監視とメトリクス
| ツール | 用途 |
|---|---|
ocm_get_cluster_alerts | 重要度別の内訳を含むクラスターアラート |
ocm_get_cluster_operators | 条件の概要を含むオペレーターの状態 |
ocm_get_cluster_cpu_metrics | ノードのロールと OS 別の CPU メトリクス |
ocm_get_cluster_socket_metrics | ノードのロールと OS 別のソケットメトリクス |
ocm_get_cluster_node_metrics | ノードメトリクス |
ネットワーク
| ツール | 用途 |
|---|---|
ocm_get_cluster_vpc | サブネット分析(パブリック/プライベート)を含む VPC 情報 |
ocm_get_cluster_ingress | Ingress 設定と DNS 情報 |
ocm_get_cluster_private_link | AWS Private Link の設定 |
認証とアクセス
| ツール | 用途 |
|---|---|
ocm_get_cluster_identity_providers | アイデンティティプロバイダーの設定 |
ocm_get_cluster_groups | RBAC グループとそのユーザー |
設定
| ツール | 用途 |
|---|---|
ocm_get_cluster_addons | インストール済みのアドオン |
ocm_get_cluster_autoscaler | クラスターオートスケーラーの設定 |
ocm_get_cluster_kubelet_configs | Kubelet の設定 |
ocm_get_cluster_upgrade_policies | アップグレードポリシー(Classic、HCP コントロールプレーン、ノードプール) |
サポートと診断
| ツール | 用途 |
|---|---|
ocm_get_cluster_limited_support_reasons | サポートが制限される理由 |
ocm_get_cluster_inflight_checks | 処理中のチェック(プロビジョニングのデバッグ) |
AWS/インフラストラクチャ
| ツール | 用途 |
|---|---|
ocm_get_cluster_sts_operator_roles | STS オペレーターの IAM ロール |
ocm_get_cluster_provision_shard | プロビジョニングシャード情報 |
Accounts API
| ツール | 用途 |
|---|---|
ocm_get_accounts_by_email | メールアドレスによるアカウント検索 |
ocm_get_subscription | サブスクリプションの詳細 |
ocm_get_organization | 組織の詳細 |
ocm_get_current_account | 現在認証されているユーザーの情報 |
API 対応範囲
クラスター管理 API(clusters_mgmt/v1)
- クラスターの検索、詳細、ステータス、リソース
- マシンプール/ノードプール
- アップグレードポリシー(クラスター、コントロールプレーン、ノードプール)
- VPC、イングレス、ID プロバイダー
- アラート、オペレーター、CPU/ソケット/ノードのメトリクス
- アドオン、オートスケーラー、kubelet の設定、グループ
- 限定サポートの理由、進行中のチェック
- AWS Private Link、STS オペレーターのロール、プロビジョニングシャード
- インストール/アンインストールのログ
サービスログ API(service_logs/v1)
- ページネーションに対応したクラスターサービスログ
アカウント管理 API(accounts_mgmt/v1)
- メールアドレスによるアカウント検索
- サブスクリプション、組織
- 現在のアカウント
依存関係
- httpx — 非同期 HTTP クライアント
- mcp[cli] — Model Context Protocol フレームワーク
- python-dotenv — 環境変数の管理
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。