Skip to main content

Cloudera Iceberg MCP Server (via Impala)

This is a A Model Context Protocol server that provides read-only access to Iceberg tables via Apache Impala. This server enables LLMs to inspect database schemas and execute read-only queries.

  • execute_query(query: str): Run any SQL query on Impala and return the results as JSON.
  • get_schema(): List all tables available in the current database.

Usage with Claude Desktop

To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json:

Option 1: Direct installation from GitHub (Recommended)

{
  "mcpServers": {
    "iceberg-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/cloudera/iceberg-mcp-server@main",
        "run-server"
      ],
      "env": {
        "IMPALA_HOST": "coordinator-default-impala.example.com",
        "IMPALA_PORT": "443",
        "IMPALA_USER": "username",
        "IMPALA_PASSWORD": "password",
        "IMPALA_DATABASE": "default"
      }
    }
  }
}

Option 2: Local installation (after cloning the repository)

{
  "mcpServers": {
    "iceberg-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/iceberg-mcp-server",
        "run",
        "src/iceberg_mcp_server/server.py"
      ],
      "env": {
        "IMPALA_HOST": "coordinator-default-impala.example.com",
        "IMPALA_PORT": "443",
        "IMPALA_USER": "username",
        "IMPALA_PASSWORD": "password",
        "IMPALA_DATABASE": "default"
      }
    }
  }
}

For Option 2, replace /path/to with your path to this repository. Set the environment variables according to your Impala configuration.

Usage with AI frameworks

The ./examples folder contains several examples how to integrate this MCP Server with common AI Frameworks like LangChain/LangGraph, OpenAI SDK.

Transport

The MCP server's transport protocol is configurable via the MCP_TRANSPORT environment variable. Supported values:

  • stdio (default) — communicate over standard input/output. Useful for local tools, command-line scripts, and integrations with clients like Claude Desktop.
  • http - expose an HTTP server. Useful for web-based deployments, microservices, exposing MCP over a network.
  • sse — use Server-Sent Events (SSE) transport. Useful for existing web-based deployments that rely on SSE.

Copyright (c) 2025 - Cloudera, Inc. All rights reserved.

Metadata

Release files for iflow-mcp_cloudera_iceberg-mcp-server 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_cloudera_iceberg-mcp-server 0.1.0
File Size Uploaded
iflow_mcp_cloudera_iceberg_mcp_server-0.1.0.tar.gz 34.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_cloudera_iceberg-mcp-server 0.1.0
File Interpreter ABI Platform
iflow_mcp_cloudera_iceberg_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.1 kB

Release files / iflow_mcp_cloudera_iceberg_mcp_server-0.1.0.tar.gz

Download URL iflow_mcp_cloudera_iceberg_mcp_server-0.1.0.tar.gz
Size 34.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4fcc8168e0148ad5db721a89f26afdcd9922eb536ce122c5a759aede290e2d91
BLAKE2b-256 checksum
How to use checksums
c7d0cc2747c879d3e0708b2902a2706623a0fe5e92d8cfed958ad09f03707dd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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_cloudera_iceberg_mcp_server-0.1.0-py3-none-any.whl

Download URL iflow_mcp_cloudera_iceberg_mcp_server-0.1.0-py3-none-any.whl
Size 15.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5eead5665330bfe8c55d005c91a0ac9bac6648e5ab7a5af6e230781ed5a0b70
BLAKE2b-256 checksum
How to use checksums
a088f04c6dabe2a511a67a3ee9bf9fa53eb35a435f366f1a0c5d5fb89950ae55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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