Skip to main content

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 LDAP for 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)

Source distribution for iflow-mcp_genai-works-org-cloudera-mcp 0.1.0
File Size Uploaded
iflow_mcp_genai_works_org_cloudera_mcp-0.1.0.tar.gz 42.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_genai-works-org-cloudera-mcp 0.1.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page