Rook Ceph Mcp について
Rook Ceph MCPは、Kubernetes環境のRook Cephストレージクラスターを運用するためのサーバーです。クラスターやストレージリソースの操作に加え、YAMLテンプレートとトラブルシューティング用プロンプトを提供します。
主な機能
- 01クラスターの一覧表示と状態確認
- 02ブロックプール、ファイルシステム、オブジェクトストアの一覧
- 03ブロックプールの作成とリソースの削除
- 04リソース用YAMLマニフェストテンプレート
- 05セットアップとトラブルシューティングのプロンプト
活用シーン
- 01Rook Cephクラスターの状態を確認
- 02ブロックプール、ファイルシステム、オブジェクトストアを把握
- 03ブロックプールを作成、またはRook Cephリソースを削除
- 04テンプレートを使ったリソース設定とクラスターの問題調査
MCP 対応
このMCPサーバーは、クラスターとストレージリソースの管理ツール、YAMLマニフェストのリソース、セットアップおよびトラブルシューティング用プロンプトをクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Rook Ceph MCP サーバー
Kubernetes 環境で Rook Ceph ストレージクラスターを管理するための Model Context Protocol(MCP)サーバーです。
機能
- クラスター管理:Ceph クラスターの一覧表示と監視
- ストレージリソース:ブロックプール、ファイルシステム、オブジェクトストアを管理
- マニフェストテンプレート:一般的なリソース向けの事前設定済み YAML テンプレートにアクセス
- Kubernetes との統合:Kubernetes API とネイティブに統合
- トラブルシューティング:クラスターのセットアップとトラブルシューティング用の組み込みプロンプト
インストール
ローカル開発(stdio トランスポート)
- 依存関係をインストールします:
npm install
- プロジェクトをビルドします:
npm run build
- サーバーを起動します:
npm run start:stdio
クラウドホスティング(HTTP トランスポート)
- 依存関係をインストールします:
npm install
- プロジェクトをビルドします:
npm run build
- HTTP サーバーを起動します:
npm start
Docker デプロイ
- Docker イメージをビルドします:
docker build -t rook-ceph-mcp .
- コンテナを実行します:
docker run -p 3000:3000 rook-ceph-mcp
設定
このサーバーを使用するには、Rook Ceph がインストールされた Kubernetes クラスターへのアクセスが必要です。認証にはデフォルトの kubeconfig を使用します。
前提条件
- Rook Ceph オペレーターがインストールされた Kubernetes クラスター
- クラスターにアクセスできるよう設定された kubectl
- Node.js 18 以降および npm
利用可能なツール
クラスター操作
list_clusters- すべての Ceph クラスターを一覧表示get_cluster_status- 指定したクラスターの詳細なステータスを取得
ストレージリソース
list_block_pools- すべての Ceph ブロックプールを一覧表示list_filesystems- すべての Ceph ファイルシステムを一覧表示list_object_stores- すべての Ceph オブジェクトストアを一覧表示
リソース管理
create_block_pool- 新しい Ceph ブロックプールを作成delete_resource- Rook Ceph リソースを削除
利用可能なリソース
サーバーは次の YAML マニフェストテンプレートを提供します:
rook-ceph://manifests/cluster- Ceph クラスターの設定rook-ceph://manifests/block-pool- ブロックプールの設定rook-ceph://manifests/filesystem- ファイルシステムの設定rook-ceph://manifests/object-store- オブジェクトストアの設定
利用可能なプロンプト
setup_cluster- クラスターのセットアップ手順ガイドtroubleshoot_cluster- クラスターのトラブルシューティング支援
使用例
すべてのクラスターを一覧表示
{
"tool": "list_clusters",
"arguments": {
"namespace": "rook-ceph"
}
}
ブロックプールを作成
{
"tool": "create_block_pool",
"arguments": {
"name": "my-pool",
"namespace": "rook-ceph",
"replicated": {
"size": 3
}
}
}
クラスターのステータスを取得
{
"tool": "get_cluster_status",
"arguments": {
"name": "rook-ceph",
"namespace": "rook-ceph"
}
}
リポジトリ構成
元の git リポジトリの仕様に基づき、このプロジェクトではブランチごとに YAML マニフェストとして MCP コンテキストを管理しています:
main- 本番コンテキストstaging- ステージングコンテキストdev- 開発コンテキスト
各ブランチには次の内容が含まれます:
├── cluster-manifests/
│ ├── ceph-cluster.yaml
│ ├── object-store.yaml
│ └── block-pool.yaml
├── apps/
│ ├── rook-operator.yaml
│ ├── monitoring-stack.yaml
│ └── security.yaml
├── kustomization.yaml
└── README.md
API エンドポイント(HTTP モード)
HTTP モードで実行すると、サーバーは次のエンドポイントを公開します:
GET /health- ヘルスチェックGET /mcp/tools- 利用可能なツールを一覧表示POST /mcp/call-tool- ツールを実行GET /mcp/resources- 利用可能なリソースを一覧表示POST /mcp/read-resource- リソースを読み取るGET /mcp/prompts- 利用可能なプロンプトを一覧表示POST /mcp/get-prompt- プロンプトを取得
開発
ビルド
npm run build
開発モード(stdio)
npm run dev:stdio
開発モード(HTTP)
npm run dev
テスト
npm test
貢献
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- 該当する場合はテストを追加します
- プルリクエストを送信します
ライセンス
MIT License - 詳細は LICENSE ファイルを参照してください
サポート
問題や質問については:
- サーバーに組み込まれたトラブルシューティング用プロンプトを確認してください
- Rook Ceph のドキュメントを参照してください
- プロジェクトリポジトリに問題を報告してください
セキュリティ
このサーバーには Kubernetes クラスターへのアクセスが必要です。適切な RBAC 権限を設定して使用してください。本番環境にデプロイする際は、常にセキュリティのベストプラクティスに従ってください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。