Cloudera AI MCP について
Cloudera AI MCPは、Cloudera Machine Learningを使うユーザー向けのPython連携機能です。MCP経由でClaudeからCMLのジョブ、モデル、実験、アプリケーションを管理できます。
主な機能
- 01プロジェクトファイルのアップロードと一覧表示
- 02ジョブの作成、確認、削除
- 03モデルとデプロイの管理
- 04実験と実行の追跡
- 05CMLアプリケーションの管理
活用シーン
- 01ローカルフォルダーをCMLプロジェクトへアップロード
- 02ジョブの状態確認と削除
- 03MLモデルとデプロイの管理
- 04プロジェクトの実験と実行の追跡
MCP 対応
MCPサーバーとして動作し、stdio経由でClaudeにCloudera Machine Learningの操作ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cloudera ML Model Control Protocol(MCP)
この MCP は、Cloudera Machine Learning と Python ベースで連携し、Claude が CML サービスとプログラムからやり取りできるようにします。
機能
- フォルダーのアップロード:ディレクトリー構造を保持したまま、フォルダー全体を CML プロジェクトにアップロードします
- ジョブの作成:カスタマイズ可能な設定で、新しい CML ジョブを作成します
- ジョブの一覧表示:プロジェクト内のすべてのジョブと現在のステータスを表示します
- ジョブの削除:個々のジョブまたはプロジェクト内のすべてのジョブを削除します
- プロジェクト ID の取得:プロジェクト名からプロジェクト ID を取得します
- プロジェクトファイルの一覧表示:プロジェクト内のファイルとディレクトリーを表示します
- モデル管理:ML モデルとデプロイメントを作成、一覧表示、管理します
- 実験の追跡:ML 実験と実行を記録、管理します
- アプリケーション管理:CML アプリケーションを作成、更新、管理します
インストール
- このリポジトリーをクローンします
- 依存関係をインストールします:
pip install -r requirements.txt
設定
MCP には次の設定が必要です:
- host:CML インスタンスの URL(例:"https://ml-xxxx.cloudera.site")
- api_key:認証用の API キー
- project_id:CML プロジェクト ID(任意。プロジェクト名から取得することもできます)
この設定は、MCP の初期化時にコード内で指定するか、環境変数を使用して設定できます:
export CLOUDERA_ML_HOST="https://ml-xxxx.cloudera.site"
export CLOUDERA_ML_API_KEY="your-api-key"
# Optional: export CLOUDERA_ML_PROJECT_ID="your-project-id"
URL 設定に関する注意事項
- ホスト URL に "https://" の重複したプレフィックスを含めないでください
- 末尾のスラッシュは自動的に処理されます
- MCP は URL を自動的に正しい形式に整えます
MCP サーバーの実行
この MCP は、Claude が Cloudera ML とやり取りできるサーバーとして実行できます。
環境の設定
サンプルの .env ファイルをコピーし、認証情報を追加します:
cp .env.example .env
# Edit .env with your credentials
サーバーの起動
./server.py
サーバーはデフォルトで stdio トランスポートを使用し、Claude に直接接続できます。
Claude Desktop での使用
このサーバーを Claude Desktop アプリで使用するには、claude_desktop_config.json の "mcpServers" セクションに次の設定を追加します:
{
"mcpServers": {
"cloudera-ml-mcp-server": {
"command": "python",
"args": [
"/path/to/MCP_cloudera/server.py"
],
"env": {
"CLOUDERA_ML_HOST": "https://ml-xxxx.cloudera.site",
"CLOUDERA_ML_API_KEY": "your-api-key"
}
}
}
}
/path/to をこのリポジトリーへのパスに置き換え、環境変数を設定してください。
独自の Python コードでの使用
独自の Python コードに MCP をインポートして使用することもできます:
from MCP_cloudera.src import ClouderaMCP
# Initialize the MCP
config = {
"host": "https://ml-xxxx.cloudera.site",
"api_key": "your-api-key"
}
cloudera = ClouderaMCP(config)
# Get project ID by name
project_info = cloudera.get_project_id(project_name="my-project-name")
project_id = project_info["project_id"]
print(f"Project ID: {project_id}")
# List project files
files = cloudera.list_project_files(project_id=project_id)
print(files)
# Upload a folder
result = cloudera.upload_folder(
folder_path="/path/to/local/folder",
ignore_folders=["node_modules", ".git"]
)
コマンドラインでのテスト
付属のスクリプトを使って、コマンドラインから MCP の機能をテストできます:
./run_mcp.py [--host HOST] [--api-key API_KEY] [--project-id PROJECT_ID] COMMAND [command options]
COMMAND には次のいずれかを指定します:
list_jobs- プロジェクト内のすべてのジョブを一覧表示しますupload_folder- フォルダーをプロジェクトにアップロードしますcreate_job- 新しいジョブを作成しますdelete_job- 指定したジョブを削除しますdelete_all_jobs- プロジェクト内のすべてのジョブを削除しますget_project_id- プロジェクト名からプロジェクト ID を取得します(--project-nameが必要です)list_project_files- プロジェクト内のファイルを一覧表示しますlist_models- プロジェクト内の ML モデルを一覧表示しますlist_model_deployments- モデルのデプロイメントを一覧表示しますlist_experiments- プロジェクト内の実験を一覧表示しますlist_job_runs- ジョブの実行を一覧表示します
例:プロジェクトファイルの一覧表示
./run_mcp.py --host "https://ml-xxxx.cloudera.site" --api-key "your-api-key" list_project_files --project-id "your-project-id"
要件
- Python 3.8+
- requests
- pathlib
- python-dotenv
- mcp[cli]
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。