About Iceberg MCP
IcebergMCP is an MCP server that lets users query Apache Iceberg lakehouse metadata through natural language in Claude, Cursor or other MCP clients. It currently connects to AWS Glue catalogs and provides read-only access.
Key features
- 01List namespaces and tables
- 02View table schemas and partitions
- 03Retrieve table size and record count
- 04Connect through configured AWS profiles
- 05Read-only access without data modification
Use cases
- 01Exploring lakehouse table structures in natural language
- 02Checking column types before writing SQL queries
- 03Investigating table size or partition layout
MCP support
IcebergMCP is an MCP server that exposes tools for retrieving namespaces, table schemas, partitions and table properties to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEIcebergMCP 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
- 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.