CML MCP Server
An MCP server for interacting with Cloudera Machine Learning (CML).
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
Related Servers
Portainer MCP
Manage Portainer resources and execute Docker or Kubernetes commands through an AI assistant.
Rewards Flights Public MCP
Deploy a remote, authentication-free MCP server on Cloudflare Workers to search for rewards flights.
Authorize.Net by CData
A read-only MCP server by CData for querying live Authorize.Net data.
Shopify MCP Server
Interact with Shopify store data using the GraphQL API.
Paddle Billing
Interact with the Paddle Billing API to manage products, prices, customers, transactions, and subscriptions.
AWS MCP
Interact with your AWS environment using natural language to query and manage resources. Requires local AWS credentials.
AWS MCP Servers
A suite of MCP servers providing AI applications with access to AWS documentation, contextual guidance, and best practices.
Terra
Access and manage wearable and health app data through the Terra API.
PrestaShop MCP Server
A server for managing PrestaShop e-commerce stores through a unified product API.
MCP SSH Server
Provides SSH access to remote servers, allowing AI tools to securely connect to your VPS for management.