CML MCP Server
Un servidor MCP para interactuar con Cloudera Machine Learning (CML).
Documentación
CML MCP Server
Un servidor MCP (Model Context Protocol) independiente para interactuar con Cloudera Machine Learning (CML).
Requisitos
- Python 3.8+
- Paquetes de Python requeridos:
- mcp[cli]>=1.2.0
- requests>=2.31.0
Instalación
- Instale los paquetes requeridos:
pip install mcp[cli] requests
O con uv:
uv pip install mcp[cli] requests
- Configure las variables de entorno (opcional):
# Traditional environment variables
export CML_API_TOKEN="your_api_token_here"
export CML_BASE_URL="https://your-cml-instance.cloudera.com"
# MCP configuration environment variables (preferred)
export CLOUDERA_ML_API_KEY="your_api_token_here"
export CLOUDERA_ML_HOST="https://your-cml-instance.cloudera.com"
# Certificate path (optional)
export CML_CERT_FILE="/path/to/your/certificate.pem"
- Descargue el certificado SSL de su servidor CML (si utiliza un certificado autofirmado):
python download_certificate.py
Esto descargará el certificado del servidor CML especificado en la variable de entorno CLOUDERA_ML_HOST o CML_BASE_URL y lo guardará en cml_ca.pem.
Uso
Puede ejecutar el servidor usando cualquiera de estos comandos:
# Using standard Python
python3 cml_mcp_server.py
# Using uv
uv run cml_mcp_server.py
# Using uvx
uvx cml_mcp_server.py
Para obtener ayuda e información de configuración:
python3 cml_mcp_server.py --help
También puede especificar parámetros personalizados:
python3 cml_mcp_server.py --token "your_api_token" --url "https://your-cml-instance.cloudera.com" --cert "/path/to/your/certificate.pem"
Uso Directo
También puede usar el script directo para listar proyectos sin usar el servidor MCP:
python direct_list_projects.py
Integración con Claude for Desktop
Para usar este servidor con Claude for Desktop:
- Cree un archivo
claude_desktop_config.jsonen su directorio de configuración de Claude for Desktop - Agregue la siguiente configuración (actualice la ruta para que coincida con la ubicación de su servidor):
{
"mcpServers": {
"cml": {
"command": "uv",
"args": ["run", "/full/path/to/cml_mcp_server.py"],
"env": {
"CLOUDERA_ML_HOST": "https://your-cml-instance.cloudera.com",
"CLOUDERA_ML_API_KEY": "your-api-key-here"
}
}
}
}
Alternativamente, puede usar el administrador de paquetes de Python uv para ejecutar el servidor (recomendado):
{
"mcpServers": {
"cml": {
"command": "python3",
"args": ["/full/path/to/cml_mcp_server.py"],
"env": {
"CLOUDERA_ML_HOST": "https://your-cml-instance.cloudera.com",
"CLOUDERA_ML_API_KEY": "your-api-key-here"
}
}
}
}
El método uv proporciona un mejor aislamiento de dependencias y tiempos de inicio más rápidos en comparación con la ejecución estándar de Python.
Herramientas Disponibles
El servidor proporciona las siguientes herramientas MCP para interactuar con CML:
Gestión de Proyectos
list_projects: Listar todos los proyectos CML a los que el usuario tiene accesocreate_project: Crear un nuevo proyecto CMLget_project: Obtener detalles de un proyecto CML específico
Operaciones de Archivos
list_files: Listar archivos en un proyecto CML en la ruta especificadaread_file: Leer el contenido de un archivo de un proyecto CMLupload_file: Subir un archivo a un proyecto CMLrename_file: Renombrar un archivo en un proyecto CMLpatch_file: Actualizar metadatos de archivo (renombrar, mover o cambiar atributos)
Gestión de Trabajos
list_jobs: Listar todos los trabajos en un proyecto CMLcreate_job: Crear un nuevo trabajo en un proyecto CMLcreate_job_from_file: Crear un trabajo a partir de un archivo existente en un proyecto CMLrun_job: Ejecutar un trabajo en un proyecto CMLlist_job_runs: Listar todas las ejecuciones de un trabajo en un proyecto CMLstop_job_run: Detener un trabajo en ejecución en un proyecto CMLschedule_job: Programar un trabajo para que se ejecute periódicamente usando una expresión cron
Gestión de Runtime
list_runtime_addons: Listar todos los complementos de runtime disponibles (p. ej., Spark3, GPU)download_ssl_cert: Descargar el certificado SSL del servidor CML