mcpField
C
Cloudera Iceberg MCP Server (via Impala)

Cloudera Iceberg MCP Server (via Impala)

Local
github.com/peterabledaDatabases1Updated 70w ago

About Cloudera Iceberg MCP Server (via Impala)

Cloudera Iceberg MCP Server (via Impala) provides read-only access to Iceberg tables through Apache Impala. It is intended for inspecting schemas and running queries, with configurable stdio, HTTP, or SSE transport.

Key features

  1. 01List tables in the current database
  2. 02Run SQL queries through Impala
  3. 03Return query results as JSON
  4. 04Support stdio, HTTP, and SSE transports

Use cases

  1. 01Inspect Iceberg table schemas
  2. 02Run read-only queries against Iceberg tables

MCP support

The MCP server exposes `get_schema()` and `execute_query(query: str)` for MCP clients to list tables and run queries. It supports stdio, HTTP, and SSE transport.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.