Iceberg MCP Server - Setup Guide
Complete setup instructions for the Iceberg MCP Server with HTTP transport support.
Prerequisites
- Python 3.10+
- Access to Cloudera Data Platform with Impala
- Valid Cloudera credentials
- uv package manager (recommended) or pip
Install UV (if not already installed)
# 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 uv
Installation
Step 1: Clone the Repository
git clone https://github.com/genai-works-org/cloudera-mcp
cd cloudera-mcp
Step 2: Install Dependencies
# Sync existing project dependencies
uv sync
# Install project in editable mode
uv pip install -e .
Configuration
Step 3: Create Environment Configuration
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
EOF
Step 4: Update Configuration Values
Edit 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
Verification
Step 6: Test Database Connection
# 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}')
"
Step 7: Start the MCP Server
# Start the server
uv run python src/cloudera_mcp/server.py
Expected 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)
Metadata
Release files for iflow-mcp_genai-works-org-cloudera-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_genai_works_org_cloudera_mcp-0.1.0.tar.gz | 42.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_genai_works_org_cloudera_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.8 kB
Release files / iflow_mcp_genai_works_org_cloudera_mcp-0.1.0.tar.gz
| Download URL | iflow_mcp_genai_works_org_cloudera_mcp-0.1.0.tar.gz |
|---|---|
| Size | 42.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e01918a803f20117576ffd8a4f66cec759d97c98db45998206118810cc1b97e7
|
|
BLAKE2b-256 checksum How to use checksums |
968e83396f91d675c1bd2238c968c376c92c026192a49ceaed36aa4be113350c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_genai_works_org_cloudera_mcp-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_genai_works_org_cloudera_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6fc82cc32fdd2013bf936872e2c5ade747b32d663f1bf2795a11430179e3a674
|
|
BLAKE2b-256 checksum How to use checksums |
9ac30815982688eb328925f73ebfa23c3b74d94f67d0bb9179cc260a44e073a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|