iceberg-mcp-server-hive
This server provides read-only and branch-based access to Apache Iceberg tables via HiveServer2, enabling SQL querying, schema exploration, and Iceberg branch/snapshot management.
Execute read-only queries: Run
SELECT,SHOW,DESCRIBE,WITH, andEXPLAINSQL statements on Hive/Iceberg tables.List tables: Retrieve table names from the configured or a specified Hive database.
List databases: Enumerate all Hive databases visible to the connected user.
List Iceberg snapshots: View snapshot history for a table.
List Iceberg refs: Inspect existing branches and tags on a table.
Create Iceberg branches: Fork a branch from the current state, a specific snapshot ID, or a timestamp.
Drop Iceberg branches: Remove an existing branch.
Fast-forward Iceberg branches: Advance a branch along its hierarchy.
Query Iceberg branches: Read data from a specific branch.
Execute DML on branches: Perform
INSERT,UPDATE, orDELETEoperations on a branch.
Provides read-only access to Iceberg tables on Cloudera Data Platform (CDP) via Apache Hive (HiveServer2).
Allows querying Iceberg tables on Cloudera Data Platform (CDP) using Hive.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@iceberg-mcp-server-hivelist all databases"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Cloudera Iceberg MCP Server (via Hive)
Fork of cloudera/iceberg-mcp-server that uses Apache Hive (HiveServer2) instead of Impala for read-only access to Iceberg tables on CDP.
MCP Tools
Tool | Description |
| Run read-only SQL ( |
| List tables in the configured or given database |
| List all visible Hive databases |
| Snapshot history ( |
| Branches and tags ( |
| Create branch from current state, snapshot ID, or timestamp |
| Drop a branch |
| Fast-forward branch hierarchy |
| Read from |
|
|
Iceberg branching (and tagging) is supported in Hive on CDP, not Impala. See branching and tagging.
Audit / write branch workflow
list_iceberg_snapshots— pick a snapshot ID or timestamplist_iceberg_refs— inspect existing branches/tagscreate_iceberg_branch— fork an audit branch (FOR SYSTEM_VERSIONor current head)query_iceberg_branch— read branch stateexecute_iceberg_branch_dml— write changes on the branch onlyfast_forward_iceberg_branch— advance a branch when readydrop_iceberg_branch— cleanup
Branch refs use lowercase branch_ prefix: mydb.mytable.branch_audit.
Related MCP server: MCP Trino Server
Configuration
Connection uses impyla against HiveServer2 (HTTP transport for CDP/Knox).
Example JDBC URL from CDP Data Warehouse:
jdbc:hive2://hs2-cdw-aw-se-hive.dw-se-sandbox-aws.a465-9q4k.cloudera.site/default;transportMode=http;httpPath=cliservice;ssl=trueMaps to MCP env vars:
JDBC / CDP | Env var |
Host in URL |
|
Path after host ( |
|
|
|
|
|
|
|
Port (443 implied) |
|
LDAP user/password |
|
Variable | Default | Description |
| — | HiveServer2 or Knox gateway host |
|
| HS2 port (443 for Knox HTTP) |
| — | LDAP / service user |
| — | Password |
|
| Default database for |
|
| impyla auth mechanism |
|
| HTTP transport (typical on CDP) |
|
| Knox / HS2 HTTP path |
|
| TLS |
|
|
|
Claude Desktop / Agent Studio
Cloudera Agent Studio (recommended)
Agent Studio only supports stdio MCP servers launched with uvx (Python) or npx (Node.js). Use a git URL so the runtime can install the package; do not use uv run unless the repo is checked out on the same machine.
{
"mcpServers": {
"iceberg-mcp-server-hive": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/frothkoetter/iceberg-mcp-server-hive@main",
"run-server"
],
"env": {
"HIVE_HOST": "hs2-cdw-aw-se-hive.dw-se-sandbox-aws.a465-9q4k.cloudera.site",
"HIVE_PORT": "443",
"HIVE_USER": "YOUR_USER",
"HIVE_PASSWORD": "YOUR_PASSWORD",
"HIVE_DATABASE": "default",
"HIVE_USE_HTTP_TRANSPORT": "true",
"HIVE_HTTP_PATH": "cliservice",
"HIVE_USE_SSL": "true",
"HIVE_AUTH_MECHANISM": "LDAP"
}
}
}
}Registration tips
Use placeholder credentials during catalog registration; provide real
HIVE_USER/HIVE_PASSWORDwhen attaching the MCP server to a workflow agent.If you see "We could not figure out the tools offered by the MCP server", the server may still work in workflows — Agent Studio documents occasional tool-discovery failures. Add the MCP server to your agent manually and select tools there.
Avoid writing to stdout from wrapper scripts — stdio transport uses stdout for JSON-RPC. This server logs only through the MCP SDK.
Ensure the Agent Studio environment can reach
HIVE_HOSTon port 443 (Knox / Hive VW).
See also Cloudera MCP registration docs.
Claude Desktop (local checkout)
{
"mcpServers": {
"iceberg-mcp-server-hive": {
"command": "uv",
"args": ["run", "run-server"],
"env": {
"HIVE_HOST": "hs2-your-cluster.example.cloudera.site",
"HIVE_PORT": "443",
"HIVE_USER": "username",
"HIVE_PASSWORD": "password",
"HIVE_DATABASE": "default"
}
}
}
}Local development
git clone https://github.com/<your-org>/iceberg-mcp-server-hive.git
cd iceberg-mcp-server-hive
uv sync --dev
export HIVE_HOST=... HIVE_USER=... HIVE_PASSWORD=...
uv run run-serverDifferences from upstream (Impala)
Environment variables use
HIVE_*instead ofIMPALA_*get_schemareturns{database, tables}and accepts an optional database nameAdded
list_databasestoolexecute_queryreturns{columns, rows}for SELECT results
Examples
See ./examples for LangChain and OpenAI SDK notebooks (update env vars from IMPALA_* to HIVE_*).
Copyright (c) 2025 - Cloudera, Inc. All rights reserved.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/frothkoetter/iceberg-mcp-server-hive'
If you have feedback or need assistance with the MCP directory API, please join our Discord server