by cloudera
Provides read‑only SQL query execution against Iceberg tables via Apache Impala and exposes database schema information for LLMs.
Enables LLMs and other AI agents to inspect Iceberg table schemas and run read‑only SQL queries through Impala, returning results in JSON format.
Add a configuration block to the mcpServers
section of claude_desktop_config.json
. Two installation methods are supported:
uvx
to fetch and run the server in one step.uv
.
Set the required IMPALA_*
environment variables (host, port, user, password, database) to match your Impala deployment. The transport defaults to stdio
but can be switched to http
or sse
via MCP_TRANSPORT
.execute_query(query: str)
: runs any SQL query against Impala and returns JSON results.get_schema()
: lists all tables in the configured Impala database.stdio
, http
, sse
).Q: Do I need a full Impala client installed?
A: No. The server connects to Impala using the provided host, port, and credentials; only the Python runtime and uv
/uvx
are required.
Q: Can I run the server over HTTP?
A: Yes. Set MCP_TRANSPORT=http
to expose an HTTP endpoint.
Q: Is write access possible? A: The server is intentionally read‑only; any write‑oriented SQL will be rejected.
Q: Which Python versions are supported?
A: The project follows standard Python 3.x compatibility; using uvx
ensures the appropriate environment.
Q: How do I change the default database?
A: Adjust the IMPALA_DATABASE
environment variable in the configuration.
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.
{ "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" } } } }
Discover more MCP servers with similar functionality and use cases
by googleapis
Provides a configurable MCP server that abstracts connection pooling, authentication, observability, and tool management to accelerate development of database‑backed AI tools.
by bytebase
DBHub is a universal database gateway that implements the Model Context Protocol (MCP) server interface, enabling MCP-compatible clients to interact with various databases.
by neo4j-contrib
Provides Model Context Protocol servers for interacting with Neo4j databases, managing Aura instances, and handling personal knowledge graph memory through natural‑language interfaces.
by mongodb-js
Provides a Model Context Protocol server that connects to MongoDB databases and Atlas clusters, exposing a rich set of tools for querying, managing, and administering data and infrastructure.
by benborla
A Model Context Protocol (MCP) server that provides read-only access to MySQL databases, enabling Large Language Models (LLMs) to inspect database schemas and execute read-only queries.
by ClickHouse
Provides tools that let AI assistants run read‑only SQL queries against ClickHouse clusters or the embedded chDB engine, plus a health‑check endpoint for service monitoring.
by elastic
Provides direct, natural‑language access to Elasticsearch indices via the Model Context Protocol, allowing AI agents to query and explore data without writing DSL.
by motherduckdb
Provides an MCP server that enables SQL analytics on DuckDB and MotherDuck databases, allowing AI assistants and IDEs to execute queries via a unified interface.
by redis
Provides a natural language interface for agentic applications to manage and search data in Redis efficiently.