CML MCP Server
Um servidor MCP para interagir com o Cloudera Machine Learning (CML).
Documentação
Servidor MCP CML
Um servidor MCP (Model Context Protocol) autônomo para interagir com o Cloudera Machine Learning (CML).
Requisitos
- Python 3.8+
- Pacotes Python necessários:
- mcp[cli]>=1.2.0
- requests>=2.31.0
Instalação
- Instale os pacotes necessários:
pip install mcp[cli] requests
Ou com uv:
uv pip install mcp[cli] requests
- Configure as variáveis de ambiente (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"
- Baixe o certificado SSL do seu servidor CML (se estiver usando um certificado autoassinado):
python download_certificate.py
Isso baixará o certificado do servidor CML especificado na variável de ambiente CLOUDERA_ML_HOST ou CML_BASE_URL e o salvará em cml_ca.pem.
Uso
Você pode executar o servidor usando qualquer um destes 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 ajuda e informações de configuração:
python3 cml_mcp_server.py --help
Você também pode 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 Direto
Você também pode usar o script direto para listar projetos sem usar o servidor MCP:
python direct_list_projects.py
Integração com Claude for Desktop
Para usar este servidor com o Claude for Desktop:
- Crie um arquivo
claude_desktop_config.jsonno diretório de configuração do Claude for Desktop - Adicione a seguinte configuração (atualize o caminho para corresponder ao local do seu 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, você pode usar o gerenciador de pacotes Python uv para executar o 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"
}
}
}
}
O método uv fornece melhor isolamento de dependências e tempos de inicialização mais rápidos em comparação com a execução padrão do Python.
Ferramentas Disponíveis
O servidor fornece as seguintes ferramentas MCP para interagir com o CML:
Gerenciamento de Projetos
list_projects: Listar todos os projetos CML aos quais o usuário tem acessocreate_project: Criar um novo projeto CMLget_project: Obter detalhes de um projeto CML específico
Operações de Arquivo
list_files: Listar arquivos em um projeto CML no caminho especificadoread_file: Ler o conteúdo de um arquivo de um projeto CMLupload_file: Enviar um arquivo para um projeto CMLrename_file: Renomear um arquivo em um projeto CMLpatch_file: Atualizar metadados de arquivo (renomear, mover ou alterar atributos)
Gerenciamento de Jobs
list_jobs: Listar todos os jobs em um projeto CMLcreate_job: Criar um novo job em um projeto CMLcreate_job_from_file: Criar um job a partir de um arquivo existente em um projeto CMLrun_job: Executar um job em um projeto CMLlist_job_runs: Listar todas as execuções de um job em um projeto CMLstop_job_run: Parar um job em execução em um projeto CMLschedule_job: Agendar um job para execução periódica usando uma expressão cron
Gerenciamento de Runtime
list_runtime_addons: Listar todos os addons de runtime disponíveis (ex.: Spark3, GPU)download_ssl_cert: Baixar o certificado SSL do servidor CML