Complete setup instructions for the Iceberg MCP Server with HTTP transport support.
- Python 3.10+
- Access to Cloudera Data Platform with Impala
- Valid Cloudera credentials
- uv package manager (recommended) or pip
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or via pip
pip install uvgit clone https://github.com/genai-works-org/cloudera-mcp
cd cloudera-mcp# Sync existing project dependencies
uv sync
# Install project in editable mode
uv pip install -e .Create a .env file in the project root directory:
# Create .env file with your Cloudera credentials
cat > .env << EOF
# Cloudera Impala Configuration
IMPALA_HOST=your-coordinator-host.cloudera.site
IMPALA_PORT=443
IMPALA_USER=your-username
IMPALA_PASSWORD=your-password
IMPALA_DATABASE=default
IMPALA_AUTH_MECHANISM=LDAP
IMPALA_USE_HTTP_TRANSPORT=true
IMPALA_HTTP_PATH=cliservice
IMPALA_USE_SSL=true
EOFEdit the .env file with your actual credentials:
For Cloudera Data Platform:
- IMPALA_HOST: Your Cloudera coordinator hostname
- IMPALA_USER: Your Cloudera username
- IMPALA_PASSWORD: Your Cloudera password
- IMPALA_AUTH_MECHANISM: Usually
LDAPfor CDP
Example from JDBC connection string:
jdbc:impala://coordinator-xyz123.dw-xyz123.cloudera.site:443/default;AuthMech=3;transportMode=http;httpPath=cliservice;ssl=1;UID=myuser;PWD=mypass
Converts to:
IMPALA_HOST=coordinator-xyz123.dw-xyz123.cloudera.site
IMPALA_PORT=443
IMPALA_USER=myuser
IMPALA_PASSWORD=mypass
IMPALA_AUTH_MECHANISM=LDAP # Test database connectivity
uv run python -c "
import os
from dotenv import load_dotenv
load_dotenv()
from cloudera_mcp.tools.impala_tools import get_db_connection
try:
conn = get_db_connection()
print('Database connection successful')
conn.close()
except Exception as e:
print(f'Database connection failed: {e}')
"# Start the server
uv run python src/cloudera_mcp/server.pyExpected output:
Starting Iceberg MCP Server via Impala on port 8888
Server will be available at: http://localhost:8888/
INFO: Started server process [46517]
INFO: Waiting for application startup.
[07/09/25 01:23:53] INFO StreamableHTTP session manager started streamable_http_manager.py:112
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8888 (Press CTRL+C to quit)