关于 Cloudera AI MCP
Cloudera AI MCP 是面向 Cloudera Machine Learning 用户的 Python 集成,让 Claude 通过 MCP 管理 CML 项目资源,涵盖作业、模型、实验和应用。
主要功能
- 01上传并列出项目文件
- 02创建、查看和删除作业
- 03管理模型与部署
- 04记录和管理实验运行
- 05管理 CML 应用
适用场景
- 01将本地文件夹上传到 CML 项目
- 02检查作业状态并清理作业
- 03管理 ML 模型及部署
- 04追踪项目实验与运行
MCP 相关
它作为 MCP 服务端,通过 stdio 向 Claude 提供 Cloudera Machine Learning 操作工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Cloudera ML 模型控制协议(MCP)
此 MCP 基于 Python 实现与 Cloudera Machine Learning 的集成,使 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 配置说明
- host 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。