IcebergMCP
Enables natural language interaction with Apache Iceberg Lakehouse tables through MCP, supporting read-only operations like listing namespaces, tables, schemas, and partitions.
README
<div align="center">
<!-- omit in toc -->
<img src="assets/iceberg-logo.svg" alt="Iceberg Logo" />
IcebergMCP 🚀
<strong>AI-native Lakehouse Integration</strong>
</div>
IcebergMCP is a Model Context Protocol (MCP) server that lets you interact with your Apache Iceberg™ Lakehouse using natural language in Claude, Cursor, or any other MCP client.
<video src="https://github.com/user-attachments/assets/907180f3-27ad-401a-9fa0-f3178cd290de"></video>
<!-- omit in toc -->
Table of Contents
- Installation
- Configuration
- Available Tools
- Examples
- Limitations & Security Considerations
- Contributing
Installation
Prerequisites
- Apache Iceberg™ catalog managed in AWS Glue
- AWS profile configured on the machine, with access to the catalog
uvpackage manager - install viabrew install uvor see official installation guide
Claude
-
Inside Claude, go to Settings > Developer > Edit Config > claude_desktop_config.json
-
Add the following:
{
"mcpServers": {
"iceberg-mcp": {
"command": "uv", // If uv can't be found, replace with full absolute path to uv
"args": [
"run",
"--with",
"iceberg-mcp",
"iceberg-mcp"
],
"env": {
"ICEBERG_MCP_PROFILE": "<aws-profile-name>"
}
}
}
}
Cursor
-
Inside Cursor, go to Settings -> Cursor Settings -> MCP -> Add new global MCP server
-
Add the following:
{
"mcpServers": {
"iceberg-mcp": {
"command": "uv", // If uv can't be found, replace with full absolute path to uv
"args": [
"run",
"--with",
"iceberg-mcp",
"iceberg-mcp"
],
"env": {
"ICEBERG_MCP_PROFILE": "<aws-profile-name>"
}
}
}
}
Configuration
Environment variables can be used to configure the AWS connection:
ICEBERG_MCP_PROFILE- The AWS profile name to use. This role will be assumed and used to connect to the catalog and the object storage. If not specified, the default role will be used.ICEBERG_MCP_REGION- The AWS region to use. This is used to determine the catalog and object storage location.us-east-1by default.
Available Tools
The server provides the following tools for interacting with your Apache Iceberg™ tables:
get_namespaces: Gets all namespaces in the Apache Iceberg™ catalogget_iceberg_tables: Gets all tables for a given namespaceget_table_schema: Returns the schema for a given tableget_table_properties: Returns table properties for a given table, like total size and record countget_table_partitions: Gets all partitions for a given table
Examples
Once installed and configured, you can start interacting with your Apache Iceberg™ tables through your MCP client. Here are some simple examples of how to interact with your lakehouse:
- "List all namespaces in my catalog"
- "List all tables for the namespace called
bronze" - "What are all the string columns in the table
raw_events? - "What is the size of the
raw_eventstable?" - "Generate an SQL query that calculates the sum and the p95 of all number columns in
raw_metricsfor all VIP users fromusers_info" - "Why did the queries on
raw_eventsrecently become much slower?"
Limitations & Security Considerations
- All tools are currently read-only and cannot modify or delete data from your lakehouse
- Currently supported catalogs:
- AWS Glue
- Apache Iceberg™ REST Catalog (coming soon!)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.