mcpField
M
mcp-croit-ceph

mcp-croit-ceph

ローカル
github.com/croitファイル・ストレージ16 週間前に更新

mcp-croit-ceph について

mcp-croit-cephは、AIアシスタントをCroit Cephクラスターに接続し、管理、監視、トラブルシューティングを可能にします。クラスターのOpenAPI仕様からツールを検出し、フィールド選択や要約で大きな応答を最適化します。

主な機能

  1. 01APIエンドポイントの検出とカテゴリ別ツールの生成
  2. 02Cephサービス、プール、サーバーの管理
  3. 03ログ検索とパターン・異常の検出
  4. 04フィールド選択と大規模応答の要約
  5. 05トークンのロールに応じたアクセス制御

活用シーン

  1. 01クラスターの状態確認とエラーのあるプールの特定
  2. 02クラスターのログからOSD障害を検索
  3. 03容量計画に向けたプール使用量の確認

MCP 対応

MCPサーバーは、Croit Ceph REST APIの操作とログ検索ツールをMCPクライアントに公開します。OpenAPIからエンドポイントを検出し、APIトークンのロールに応じて権限を適用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"croit-mcp-croit-ceph": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CROIT_HOST",
"-e",
"CROIT_API_TOKEN",
"docker.io/croit/mcp-croit-ceph:0.2.16"
],
"env": {
"CROIT_HOST": "<CROIT_HOST>",
"CROIT_API_TOKEN": "<CROIT_API_TOKEN>"
}
}
}
}
起動コマンドdocker run -i --rm -e CROIT_HOST -e CROIT_API_TOKEN docker.io/croit/mcp-croit-ceph:0.2.16
設定が必要な環境変数
CROIT_HOSTCroit cluster URL (e.g., http://your-cluster.croit.io:8080)
CROIT_API_TOKENシークレットAPI authentication token for Croit cluster

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocidocker.io/croit/mcp-croit-ceph:0.2.16

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Croit Ceph

Model Context Protocol(MCP)を介した、Croit Ceph クラスターの AI による管理

AI アシスタント(Claude など)を Croit Ceph クラスターに直接接続して、インテリジェントなクラスター管理、トラブルシューティング、監視を行えます。

これは何ですか?

AI アシスタントが Croit Ceph クラスターの REST API にアクセスできるようにする MCP サーバーです。AI に次のように尋ねられます。

  • 「エラーのあるプールをすべて表示して」
  • 「サーバー node-5 上の OSD を一覧表示して」
  • 「過去 1 時間の遅延リクエストについてログを検索して」
  • 「クラスターのヘルスステータスは?」

AI は自然言語を通じて、クラスターを操作できます。

主な機能

🚀 スマートで効率的
  • トークンの自動最適化 - AI のトークンコストを 80~95% 削減できるよう、応答を最適化します
  • フィールド選択 - 必要なデータのみをリクエストできます(例:id + name のみ)
  • フィルタリング機能を標準搭載 - 複数回の API 呼び出しを行わずに grep のような検索ができます
  • インテリジェントな要約 - 大規模なデータセットをスマートに要約し、詳細を掘り下げられます
🔍 高度なログ検索
  • 強力なログ分析を可能にする、VictoriaLogs とのネイティブ統合
  • 自然言語でのクエリ:「過去 24 時間の OSD 障害を検索して」
  • パターン検出と異常の特定
  • よくある問題に対応した、事前構築済みのデバッグテンプレート
🛡️ 本番環境対応
  • ロールベースのアクセス制御(ADMIN と VIEWER)
  • クラスターからの API 自動検出
  • OpenAPI 仕様書を同梱した Docker サポート
  • 包括的なエラー処理

クイックスタート

Docker を使用する場合(推奨)
docker run --rm -i \
  -e CROIT_HOST="https://your-cluster.com" \
  -e CROIT_API_TOKEN="your-api-token" \
  croit/mcp-croit-ceph:latest
Claude Desktop を使用する場合

~/.config/claude/claude_desktop_config.json に追加します。

基本構成(起動時に OpenAPI 仕様書を取得します):

{
  "mcpServers": {
    "croit-ceph": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "CROIT_HOST=http://your-cluster.croit.io:8080",
        "-e", "CROIT_API_TOKEN=your-api-token-here",
        "croit/mcp-croit-ceph:latest"
      ]
    }
  }
}

最適化された構成(推奨 — 起動時間を 5 秒から 2 秒に短縮します):

{
  "mcpServers": {
    "croit-ceph": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-v", "/absolute/path/to/openapi.json:/config/openapi.json:ro",
        "-e", "CROIT_HOST=http://your-cluster.croit.io:8080",
        "-e", "CROIT_API_TOKEN=your-api-token-here",
        "-e", "OPENAPI_FILE=/config/openapi.json",
        "croit/mcp-croit-ceph:latest"
      ]
    }
  }
}

デバッグログを有効にする場合:

{
  "mcpServers": {
    "croit-ceph": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "CROIT_HOST=http://your-cluster.croit.io:8080",
        "-e", "CROIT_API_TOKEN=your-api-token-here",
        "-e", "LOG_LEVEL=DEBUG",
        "croit/mcp-croit-ceph:latest"
      ]
    }
  }
}

注: ボリュームマウントには絶対パスが必要です(~/ は使用できません)。OpenAPI 仕様書をダウンロードするには:

curl -H "Authorization: Bearer YOUR_TOKEN" \
     http://your-cluster.croit.io:8080/api/swagger.json > openapi.json

構成を変更した後、Claude Desktop を再起動してください。

構成

必須の環境変数
CROIT_HOST="https://your-cluster.com"      # Your Croit cluster URL
CROIT_API_TOKEN="your-api-token"           # API token from Croit
任意の環境変数
# Use local OpenAPI spec for faster startup (2s vs 5s)
OPENAPI_FILE="/config/openapi.json"

# Use bundled spec (no external fetch, for offline/dev)
USE_INCLUDED_API_SPEC="true"

# Logging verbosity: DEBUG, INFO, WARNING, ERROR
LOG_LEVEL="INFO"

# Pass additional CLI arguments
MCP_ARGS="--no-permission-check --max-category-tools 5"

Docker の使用テンプレートについては、.env.example を参照してください。

API トークンの取得
  1. Croit クラスターの Web インターフェースにログインします
  2. Settings → API Tokens に移動します
  3. 適切な権限を持つ新しいトークンを作成します
  4. トークンをコピーして構成で使用します

AI との会話例

クラスターのヘルス状態を確認する:

You: "What's the current cluster status?"
AI: Calls list_endpoints → Finds status endpoint → Returns health summary

問題を見つける:

You: "Show me all pools with errors"
AI: Calls /pools with fields=["id","name","status"] and filter for errors
    Returns only the 3 pools with issues (instead of all 100 pools)

問題をデバッグする:

You: "Search logs for OSD failures in the last hour"
AI: Uses croit_log_search with smart query parsing
    Returns summary + drill-down capability for details

容量を計画する:

You: "Which pools are over 80% full?"
AI: Gets pools → Filters by usage → Returns list with recommendations

機能の詳細

トークンの最適化

サーバーは AI のトークン消費量を自動的に削減します。

最適化なし最適化あり削減率
100 個のプール、すべてのフィールド → 4,000 トークン100 個のプール、id+name → 300 トークン92%
500 個の OSD、すべてのデータ → 15,000 トークンスマートな要約 → 1,000 トークン93%

仕組み:

  1. フィールド選択:必要なフィールドのみをリクエストします
  2. スマートな要約:大規模なデータセットを要約し、詳細を掘り下げられるようにします
  3. キャッシュ:繰り返しのリクエストではキャッシュ済みデータを使用します
  4. 自動制限:妥当なデフォルト値により、トークンの急増を防ぎます
利用可能なツール

AI は次のツールを利用できます。

コアツール:

  • list_endpoints - 利用可能な API エンドポイントを検出します
  • call_endpoint - 最適化を適用して API を呼び出します
  • search_last_result - 大きな応答の詳細を掘り下げます

カテゴリ別ツール(自動生成):

  • manage_services - Ceph サービス
  • manage_pools - ストレージプール
  • manage_servers - クラスターサーバー
  • manage_s3 - S3 バケット
  • その他...

ログ検索:

  • croit_log_search - 高度なログ分析
  • croit_log_check - ログ条件のクイックチェック

高度な使い方

ローカル開発
# Clone repository
git clone https://github.com/croit/mcp-croit-ceph.git
cd mcp-croit-ceph

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run directly
export CROIT_HOST="https://your-cluster.com"
export CROIT_API_TOKEN="your-token"
python mcp-croit-ceph.py
ローカルの OpenAPI 仕様書を使用する

起動を高速化する場合や、オフラインで開発する場合:

# Download spec from your cluster
curl -H "Authorization: Bearer $CROIT_API_TOKEN" \
     https://your-cluster/api/swagger.json > openapi.json

# Use local spec
python mcp-croit-ceph.py --openapi-file openapi.json
コマンドラインオプション
python mcp-croit-ceph.py \
  --openapi-file openapi.json \      # Use local OpenAPI spec
  --no-permission-check \            # Skip role check (faster)
  --max-category-tools 5             # Limit category tools

権限とセキュリティ

サーバーは API トークンのロールに従います。

  • ADMIN:すべての操作へのフルアクセス
  • VIEWER:読み取り専用アクセス(作成/削除/更新は不可)
  • 無効なトークン:サーバーはエラーで終了します

管理者専用のカテゴリ:maintenance、servers、config、hooks

トラブルシューティング

トークンが機能しない場合:

  • Croit のウェブインターフェースでトークンを確認します
  • トークンの有効期限が切れていないことを確認します
  • トークンに適切な権限があることを確認します

接続に関する問題:

  • CROIT_HOST が正しいことを確認します(https:// を含めます)
  • クラスターへのネットワーク接続を確認します
  • ファイアウォールで接続が許可されていることを確認します

ツールが表示されない場合:

  • Docker のログでエラーを確認します
  • OpenAPI 仕様が有効であることを確認します
  • --no-permission-check を試してテストします

デバッグログを有効にする:

export LOG_LEVEL=DEBUG
python mcp-croit-ceph.py

ドキュメント

コントリビューション

コントリビューションを歓迎します。以下の手順に従ってください。

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. Python ファイルに black フォーマッターを実行します
  5. プルリクエストを送信します

ライセンス

詳細は LICENSE を参照してください。

サポート


Ceph コミュニティのために ❤️ を込めて作成

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。