IcebergMCP
FreeNot checkedEnables natural language interaction with Apache Iceberg Lakehouse tables through MCP, supporting read-only operations like listing namespaces, tables, schemas,
About
Enables natural language interaction with Apache Iceberg Lakehouse tables through MCP, supporting read-only operations like listing namespaces, tables, schemas, and partitions.
README
Add to Cursor Add to VS Code Add to Claude Add to ChatGPT Add to Codex Add to Gemini
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
- 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.
Install IcebergMCP in Claude Desktop, Claude Code & Cursor
unyly install icebergmcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add icebergmcp -- uvx iceberg-mcpFAQ
Is IcebergMCP MCP free?
Yes, IcebergMCP MCP is free — one-click install via Unyly at no cost.
Does IcebergMCP need an API key?
No, IcebergMCP runs without API keys or environment variables.
Is IcebergMCP hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install IcebergMCP in Claude Desktop, Claude Code or Cursor?
Open IcebergMCP on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare IcebergMCP with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
