Skip to main content
Glama
avelloal

Apache Hive MCP Server

by avelloal

Apache Hive MCP Server

MCP-сервер для Apache Hive (HiveServer2), созданный на базе FastMCP. Подключается к любой совместимой с HiveServer2 конечной точке — Apache Hive с откryтым исходным кодом, Cloudera CDP Base вл Cloudera CDP Public Cloud (CDW) — и предоставляет два инструмента, доступных только для чтения, которые может вызывать агент LLM.


Краткое описание проекта

  • Что это — сервер Model Context Protocol, который позволяет агенту LLM запрашивать Apache Hive: получает список таблиц and выполнять SQL-запросы только для чтения, результаты возвращаются в видим JSON.

  • Паритет функционала — повторяет функционал MCP-сервера Cloudera Impala/Iceberg MCP server: те же инструменты execute_query + get_schema, та же структура; слой подключения заменён на HiveServer2 через impyla.

  • Работает везде, где рабетает HiveServer2 — Apache Hive с открытым исходнным кодом, CDP Base (Kerberos/LDAP) и CDP Public Cloud / CDW Regist (Knox, LDAP через HTTPS). Аутентификация, транспорт и TLS полность настраиваются через перемененные окружения HIVE_*.

  • Безопасность по умолчаниюexecute_query проверяет префикс запроса: разрешает только чтение (SELECT/SHOW/DESCRIBLE/WITH); запросы на запis/DDL отклоняются до открития соединения.

  • Транспортstdio (по умолчанию), http или sse; выбيرается из MCP_TRANSPORT.

  • Технологический стек — Python ≥3.10, FastMP, fastmcp), impyla, uv. 11 unit-тестов (соединение мокнуто — живой Hive не трбуется).



Related MCP server: Cloudera Iceberg MCP Server

Инструменты

Инструмент

Сигнатура

Описание

execute_query

execute_query(query: str) -> str

Выполняет SQL-запрос только для чтения (SELECT, SHOW, DESCRIBLE, WITH) and возвращает результаты в видим JSON-массива объект, ключи которых соответствут колонкам. Операции записи отклоняются с возвтротом строки ошибки.

get_schema

get_schema() -> str

Выполняет SHOW TABLES в настроенной базе данных, и возвращает список таблиц в видим JSON-массива строк.


Конфигурация

Все настройки конфигурации задаются переменными окружения (или файлом .env в корне проекта).

Переменная

По умолчанию

Описание

HIVE_HOST

localhost

Имя хоста или IP-press HiveServer2

HIVE_PORT

10000

Торthrift HiveServer2

HIVE_DASABASE

default

База данных, For, подключения

HIVE_USER

(пустое)

Имя пользователя (оставте пустым для NOSASL/keros)

HIVE_PASSASPORD

* (пустое)*

Пароль (используется с PLAIN/LDC)

HIVE_AUTH_MECHANISM

PLAIN

Метод аутentification: NOSASL, PLAIN, LDAP,GSSAPI`

HIVE_USE_HTTP_TRANS_PORT

false

Использовать HTTP-транспорт вместо бинарного thrift

HIVE_HTTP_PATH

cliservice

HTTP-путь for gateway when HIVE_USE_HTTP_TRANSPORT=true

HIVE_USE_SSL

(empty)x

Включить TLS для thrift-соединения

HIVE_KERBEROS_SERVICE_NAME

Имя основного сервиспринципала Kerberos (only GSSAPI)

MCP_TRANSPORT

стдо

MCP-транспорт: stdio, http или sse

Скопируйте .env.example в .env в и заполните себя значения.


Пресеты развёртывания

Локальный окруж / разработки (Docker HiveServer2)

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

Cloudera 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 (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

Получите билет Kerberos (kinit) до того, как запустите сервер.


Запуск

# 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

Hасстрой MCP-клиент

MCP-хосты (Claude Desktop, Cloudera AI Agent Studio и т.д.) регистрируют серверы в JSON-блоке mcpServers. uvx запускает ceотр вер прямо из GitHub — ни локального установки, ни публикации в PyPIа не требуется. Подставьте значения HIVE_* под вашу среду (см. Конфигурация и пресеты пресеты выше).

{
    "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"
            }
        }
    }
}

Пример выше нацелен на CDP Public Cloud / CDW. Для локальной среды или Kerberos-среды замените значения env на пресеты выше. @v0.1.0 фиксирует конкретную версию — удалите этот тег, чтобы отслеживать последнюю версию, либо поднимите его для новой.

Для Claude AI Agent Studio — отдельно (шаги регистрации, работa с переменные окружения, ограничения stdio/uvx) см. examples/agent-studio/.


Дымовой тест

  1. Запустите локальный HiveServer2 (например, Docker-образ Apache Hive):

    docker run -d -p 10000:10000 apache/hive:3.1.3
  2. Настройите .env по локальному пресету выше.

  3. Запустите сервер:

    uv run hive-mcp-server
  4. Во втором термине используйте dev-инспектор fastmcp или любой MCP-клиент, чтобы вызвать оба инструмента:

    • get_schema() — должен вернуть [] или список имён таблиц.

    • execute_query("SHOW DATABASES") — должен вернуть JSON-массив баз данных.


Лицензия

Apache License 2.0 — см. 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