yw449/cloudera-cml-mcp-server
If you are the rightful owner of cloudera-cml-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A standalone MCP server for interacting with Cloudera Machine Learning (CML).
list_projects
List all CML projects the user has access to
create_project
Create a new CML project
get_project
Get details of a specific CML project
list_files
List files in a CML project at the specified path
read_file
Read the contents of a file from a CML project
upload_file
Upload a file to a CML project
rename_file
Rename a file in a CML project
patch_file
Update file metadata (rename, move, or change attributes)
list_jobs
List all jobs in a CML project
create_job
Create a new job in a CML project
create_job_from_file
Create a job from an existing file in a CML project
run_job
Run a job in a CML project
list_job_runs
List all runs for a job in a CML project
stop_job_run
Stop a running job in a CML project
schedule_job
Schedule a job to run periodically using a cron expression
list_runtime_addons
List all available runtime addons (e.g., Spark3, GPU)
download_ssl_cert
Download the SSL certificate from the CML server
CML MCP Server
A standalone MCP (Model Context Protocol) server for interacting with Cloudera Machine Learning (CML).
Requirements
- Python 3.8+
- Required Python packages:
- mcp[cli]>=1.2.0
- requests>=2.31.0
Installation
- Install the required packages:
pip install mcp[cli] requests
Or with uv:
uv pip install mcp[cli] requests
- Set up environment variables (optional):
# 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"
- Download the SSL certificate from your CML server (if using a self-signed certificate):
python download_certificate.py
This will download the certificate from the CML server specified in the CLOUDERA_ML_HOST or CML_BASE_URL environment variable and save it to cml_ca.pem
.
Usage
You can run the server using any of these commands:
# Using standard Python
python3 cml_mcp_server.py
# Using uv
uv run cml_mcp_server.py
# Using uvx
uvx cml_mcp_server.py
For help and configuration information:
python3 cml_mcp_server.py --help
You can also specify custom parameters:
python3 cml_mcp_server.py --token "your_api_token" --url "https://your-cml-instance.cloudera.com" --cert "/path/to/your/certificate.pem"
Direct Usage
You can also use the direct script to list projects without using the MCP server:
python direct_list_projects.py
Integration with Claude for Desktop
To use this server with Claude for Desktop:
- Create a
claude_desktop_config.json
file in your Claude for Desktop configuration directory - Add the following configuration (update the path to match your server location):
{
"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"
}
}
}
}
Alternatively, you can use the uv
Python package manager to run the server (recommended):
{
"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"
}
}
}
}
The uv
method provides better dependency isolation and faster startup times compared to standard Python execution.
Available Tools
The server provides the following MCP tools for interacting with CML:
Project Management
list_projects
: List all CML projects the user has access tocreate_project
: Create a new CML projectget_project
: Get details of a specific CML project
File Operations
list_files
: List files in a CML project at the specified pathread_file
: Read the contents of a file from a CML projectupload_file
: Upload a file to a CML projectrename_file
: Rename a file in a CML projectpatch_file
: Update file metadata (rename, move, or change attributes)
Job Management
list_jobs
: List all jobs in a CML projectcreate_job
: Create a new job in a CML projectcreate_job_from_file
: Create a job from an existing file in a CML projectrun_job
: Run a job in a CML projectlist_job_runs
: List all runs for a job in a CML projectstop_job_run
: Stop a running job in a CML projectschedule_job
: Schedule a job to run periodically using a cron expression
Runtime Management
list_runtime_addons
: List all available runtime addons (e.g., Spark3, GPU)download_ssl_cert
: Download the SSL certificate from the CML server