Skip to main content

Cloudera Iceberg MCP Server via Impala

Project description

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_genai_works_org_cloudera_mcp-0.1.0.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_genai_works_org_cloudera_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_genai_works_org_cloudera_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for iflow_mcp_genai_works_org_cloudera_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e01918a803f20117576ffd8a4f66cec759d97c98db45998206118810cc1b97e7
MD5 2b495a73b11e885eb0300f6074974989
BLAKE2b-256 968e83396f91d675c1bd2238c968c376c92c026192a49ceaed36aa4be113350c

See more details on using hashes here.

File details

Details for the file iflow_mcp_genai_works_org_cloudera_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_genai_works_org_cloudera_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for iflow_mcp_genai_works_org_cloudera_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6fc82cc32fdd2013bf936872e2c5ade747b32d663f1bf2795a11430179e3a674
MD5 3e4ebab7e3bd06a3be9da5f912cb78e4
BLAKE2b-256 9ac30815982688eb328925f73ebfa23c3b74d94f67d0bb9179cc260a44e073a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page