Skip to main content
Glama
avelloal

Apache Hive MCP Server

by avelloal

Apache Hive MCP Server

An MCP server for Apache Hive (HiveServer2), built with FastMCP. Connects to any HiveServer2-compatible endpoint — open-source Apache Hive, Cloudera CDP Base, or Cloudera CDP Public Cloud (CDW) — and exposes two read-only tools that an LLM agent can call.


Project summary

  • What it is — a Model Context Protocol server that lets an LLM agent query Apache Hive: list tables and run read-only SQL, with results returned as JSON.

  • Feature parity — mirrors Cloudera's Impala/Iceberg MCP server: same execute_query + get_schema tools and structure, with the connection layer swapped to HiveServer2 via impyla.

  • Works everywhere HiveServer2 does — open-source Apache Hive, CDP Base (Kerberos/LDAP), and CDP Public Cloud / CDW (Knox, LDAP over HTTPS). Auth, transport, and TLS are all driven by HIVE_* environment variables.

  • Safe by defaultexecute_query enforces a read-only prefix guard (SELECT/SHOW/DESCRIBE/WITH); write/DDL statements are rejected before a connection is opened.

  • Transportstdio (default), http, or sse, selected via MCP_TRANSPORT.

  • Tech stack — Python ≥3.10, FastMCP, impyla, uv. 11 unit tests (connection mocked — no live Hive required).


Related MCP server: Cloudera Iceberg MCP Server

Tools

Tool

Signature

Description

execute_query

execute_query(query: str) -> str

Execute a read-only SQL query (SELECT, SHOW, DESCRIBE, WITH) and return results as a JSON array of column-keyed objects. Write operations are rejected with an error string.

get_schema

get_schema() -> str

Run SHOW TABLES against the configured database and return the table list as a JSON array of strings.


Configuration

All configuration is via environment variables (or a .env file at the project root).

Variable

Default

Description

HIVE_HOST

localhost

HiveServer2 hostname or IP

HIVE_PORT

10000

HiveServer2 thrift port

HIVE_DATABASE

default

Database to connect to

HIVE_USER

(empty)

Username (leave empty for NOSASL/Kerberos)

HIVE_PASSWORD

(empty)

Password (used with PLAIN/LDAP)

HIVE_AUTH_MECHANISM

PLAIN

Auth method: NOSASL, PLAIN, LDAP, GSSAPI

HIVE_USE_HTTP_TRANSPORT

false

Use HTTP transport instead of binary thrift

HIVE_HTTP_PATH

cliservice

HTTP path when HIVE_USE_HTTP_TRANSPORT=true

HIVE_USE_SSL

false

Enable TLS for the thrift connection

HIVE_KERBEROS_SERVICE_NAME

hive

Kerberos service principal name (GSSAPI only)

MCP_TRANSPORT

stdio

MCP transport: stdio, http, or sse

Copy .env.example to .env and fill in your values.


Deployment presets

Local / development (Docker HiveServer2)

HIVE_HOST=localhost
HIVE_PORT=10000
HIVE_DATABASE=default
HIVE_AUTH_MECHANISM=NOSASL
MCP_TRANSPORT=stdio

CDP Public Cloud (CDW Virtual Warehouse)

HIVE_HOST=<coordinator-hostname>.dw.cloudera.site
HIVE_PORT=443
HIVE_DATABASE=default
HIVE_USER=<workload-username>
HIVE_PASSWORD=<workload-password>
HIVE_AUTH_MECHANISM=LDAP
HIVE_USE_HTTP_TRANSPORT=true
HIVE_HTTP_PATH=cliservice
HIVE_USE_SSL=true
MCP_TRANSPORT=stdio

CDP Base / on-premises with Kerberos

HIVE_HOST=<hiveserver2-host.example.com>
HIVE_PORT=10000
HIVE_DATABASE=default
HIVE_AUTH_MECHANISM=GSSAPI
HIVE_KERBEROS_SERVICE_NAME=hive
MCP_TRANSPORT=stdio

Obtain a Kerberos ticket (kinit) before starting the server.


Running

# Install
pip install -e .
# or with uv:
uv sync

# Copy and edit config
cp .env.example .env

# Start (stdio transport, for use with an MCP host)
uv run hive-mcp-server

MCP client configuration

MCP hosts (Claude Desktop, Cloudera AI Agent Studio, etc.) register servers with a mcpServers JSON block. uvx runs this server straight from GitHub — no local install or PyPI publish required. Fill in the HIVE_* values for your environment (see Configuration and the presets above).

{
    "mcpServers": {
        "Hive": {
            "command": "uvx",
            "args": [
                "--from",
                "git+https://github.com/avelloal/hive-mcp-server@v0.1.0",
                "hive-mcp-server"
            ],
            "env": {
                "HIVE_HOST": "<coordinator-hostname>.dw.cloudera.site",
                "HIVE_PORT": "443",
                "HIVE_DATABASE": "default",
                "HIVE_USER": "<workload-username>",
                "HIVE_PASSWORD": "<workload-password>",
                "HIVE_AUTH_MECHANISM": "LDAP",
                "HIVE_USE_HTTP_TRANSPORT": "true",
                "HIVE_HTTP_PATH": "cliservice",
                "HIVE_USE_SSL": "true"
            }
        }
    }
}

The example above targets CDP Public Cloud / CDW. For local or Kerberos targets, swap the env values using the presets above. @v0.1.0 pins a fixed release — drop it to track the latest, or bump it for a newer version.

For Cloudera AI Agent Studio specifically (registration steps, env-var handling, stdio/uvx limitations), see examples/agent-studio/.


Smoke test

  1. Start a local HiveServer2 (e.g., Apache Hive Docker image):

    docker run -d -p 10000:10000 apache/hive:3.1.3
  2. Configure .env with the local preset above.

  3. Start the server:

    uv run hive-mcp-server
  4. In a second terminal, use the fastmcp dev inspector or any MCP client to call both tools:

    • get_schema() — should return [] or a list of table names.

    • execute_query("SHOW DATABASES") — should return a JSON array of databases.


License

Apache License 2.0 — see LICENSE.

Install Server
F
license - not found
A
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables read-only access to Apache Iceberg tables via Impala, allowing LLMs to inspect database schemas and execute SQL queries to retrieve data from Iceberg tables.
    2
    13
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with Hadoop Hue for executing SQL queries using Hive, SparkSQL, or Impala and managing HDFS files. It supports directory browsing, file transfers, and exporting query results to CSV through the Model Context Protocol.
    8
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to query and explore schemas in Microsoft Fabric lakehouses, warehouses, and SQL databases using natural language, with tools for executing read-only SQL queries and searching tables, columns, and query patterns.
    3
    MIT

View all related MCP servers

Related MCP Connectors

  • Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…

  • Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.

  • Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/avelloal/hive-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server