Provides tools for querying and analyzing Apache Iceberg™ data lakehouses, including listing namespaces, tables, retrieving table schemas, properties, and partitions from AWS Glue catalogs.
References GitHub for project repository hosting, licensing information, and contribution management.
Distributes the IcebergMCP package through PyPI, allowing for installation via package managers.
IcebergMCP 🚀
AI-native Lakehouse Integration
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.
Table of Contents
Installation
Prerequisites
- Apache Iceberg™ catalog managed in AWS Glue
- AWS profile configured on the machine, with access to the catalog
uv
package manager - install viabrew install uv
or see official installation guide
Claude
- Inside Claude, go to Settings > Developer > Edit Config > claude_desktop_config.json
- Add the following:
Cursor
- Inside Cursor, go to Settings -> Cursor Settings -> MCP -> Add new global MCP server
- Add the following:
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-1
by 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_events
table?" - "Generate an SQL query that calculates the sum and the p95 of all number columns in
raw_metrics
for all VIP users fromusers_info
" - "Why did the queries on
raw_events
recently 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.
This server cannot be installed
An MCP server that enables natural language interaction with Apache Iceberg data lakehouses, allowing users to query table metadata, schemas, and properties through Claude, Cursor, or other MCP clients.
Related MCP Servers
- -securityAlicense-qualityA read-only MCP server for Kubernetes that allows querying cluster information and diagnosing issues through natural language interfaces like Claude.Last updated -7PythonMIT License
- -securityAlicense-qualityAn MCP server that provides natural language interaction with Apache AGE graph databases, allowing users to query, visualize and manipulate graph data in PostgreSQL through Claude AI.Last updated -1PythonMIT License
- -securityFlicense-qualityAn MCP server that integrates with Claude to provide smart documentation search capabilities across multiple AI/ML libraries, allowing users to retrieve and process technical information through natural language queries.Last updated -Python
- AsecurityFlicenseAqualityA Model Context Protocol server that provides a SQL interface for querying and managing Apache Iceberg tables through Claude desktop, allowing natural language interaction with Iceberg data lakes.Last updated -16Python