by cloudera
Provides read‑only access to Iceberg tables via Apache Impala, exposing schema discovery and SQL query execution as JSON for LLM integration.
Iceberg MCP Server is a Model Context Protocol (MCP) service that connects to an Apache Impala coordinator and allows language models to inspect Iceberg table schemas and run read‑only SQL queries. The server returns results in JSON, making it easy for AI applications to consume database information without granting write access.
IMPALA_HOST
IMPALA_PORT
IMPALA_USER
IMPALA_PASSWORD
IMPALA_DATABASE
stdio
). Set MCP_TRANSPORT
to stdio
, http
, or sse
as needed.uvx
:
{
"command": "uvx",
"args": ["--from", "git+https://github.com/cloudera/iceberg-mcp-server@main", "run-server"]
}
uv
:
{
"command": "uv",
"args": ["--directory", "/path/to/iceberg-mcp-server", "run", "src/iceberg_mcp_server/server.py"]
}
get_schema()
– lists all tables in the selected Impala database.execute_query(query)
– runs any SELECT‑type SQL and returns JSON results.stdio
(default), http
, and sse
for flexible deployment.Q: Can I run write queries? A: No. The server only supports read‑only SELECT statements to protect data integrity.
Q: Which transport should I choose?
A: Use stdio
for local CLI tools or Claude Desktop. Choose http
for network‑exposed services, and sse
for event‑driven web deployments.
Q: Do I need a Python environment?
A: Yes. The server is Python‑based; uv
/uvx
handle dependency isolation and execution.
Q: How do I secure credentials? A: Store Impala credentials in environment variables or a secret manager and avoid committing them to source control.
Q: Is there support for other databases? A: This server is specific to Iceberg tables accessed through Impala. Separate MCP servers would be needed for other data sources.
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.To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json
:
{
"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"
}
}
}
}
{
"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.
The ./examples
folder contains several examples how to integrate this MCP Server with common AI Frameworks like LangChain/LangGraph, OpenAI SDK.
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.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by googleapis
An MCP server that streamlines database tool development by handling connection pooling, authentication, observability, and secure access, allowing agents to interact with databases via natural language.
by bytebase
Provides a universal gateway that lets MCP‑compatible clients explore and query MySQL, PostgreSQL, SQL Server, MariaDB, and SQLite databases through a single standardized interface.
by designcomputer
Enables secure interaction with MySQL databases via the Model Context Protocol, allowing AI applications to list tables, read contents, and execute queries safely.
by benborla
Provides read‑only access to MySQL databases for large language models, allowing schema inspection and safe execution of SQL queries.
by ClickHouse
Enables AI assistants to run read‑only ClickHouse queries, list databases and tables, and execute embedded chDB queries through an MCP interface.
by chroma-core
Offers an MCP server exposing Chroma's vector database capabilities for LLM applications, supporting collection and document management, multiple embedding functions, and flexible client types such as in‑memory, persistent, HTTP, and cloud.
by kiliczsh
Enables LLMs to interact with MongoDB databases via a standardized interface, offering schema inspection, query execution, aggregation, and write capabilities, with optional read‑only mode and smart ObjectId handling.
by domdomegg
Provides read and write access to Airtable bases for AI systems, enabling inspection of schemas and manipulation of records.
by XGenerationLab
A Model Context Protocol (MCP) server that enables natural language queries to databases