About Iceberg MCP
Iceberg MCP is an MCP server for Apache Iceberg catalogs, built with async processing and logging. It suits users who want MCP clients to inspect Iceberg metadata. It currently supports REST and AWS Glue catalogs.
Key features
- 01Async processing with logging
- 02Supports REST and AWS Glue catalogs
- 03Tools for namespaces, tables and table properties
- 04Configurable log level
- 05Prebuilt binary or build from source
Use cases
- 01Browsing Iceberg namespaces and tables from Claude Desktop
- 02Reviewing table schemas and properties for data analysis
- 03Troubleshooting catalog connections and server runs
MCP support
This is an MCP server that exposes four tools to MCP clients: namespaces, tables, table_schema and table_properties.
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 READMEIceberg MCP
An MCP server for Apache Iceberg catalogs with async and logging.
Supported Catalogs
| Catalog Type | Supported |
|---|---|
| Rest Catalogs | ✅ |
| AWS Glue | ✅ |
| Hive Metastore | ❌ |
| S3 Table | ❌ |
Supported Tools
| Tools | Description |
|---|---|
namespaces | Get all namespaces in the Iceberg catalog |
tables | Get all tables for a given namespace |
table_schema | Return the schema for a given table |
table_properties | Return table properties for a given table |
Installation
Option 1: Download the Release Binary
Download the latest pre-built binary from the Releases page.
Option 2: Build from Source
To build the project manually, ensure you have Rust installed, then run:
cargo build --release
The compiled binary will be located at: ./target/release/iceberg-mcp
Client Configuration
Claude Desktop
To integrate Iceberg MCP with Claude Desktop:
- Open
Settings>Developer>Edit Config. - Update
claude_desktop_config.jsonwith the appropriate configuration:
- Rest Catalogs
{
"mcpServers": {
"iceberg-mcp": {
"command": "PATH-TO-BINARY/iceberg-mcp",
"env": {
"CATALOG_KIND": "rest",
"REST_URI": "http://localhost:8080",
"LOG_LEVEL": "info"
}
}
}
}
- AWS Glue Catalogs
// use PROFILE_NAME
{
"mcpServers": {
"iceberg-mcp": {
"command": "PATH-TO-BINARY/iceberg-mcp",
"env": {
"CATALOG_KIND": "glue",
"AWS_CONFIG_FILE": "/Users/{your_username}/.aws/config",
"AWS_SHARED_CREDENTIALS_FILE": "/Users/{your_username}/.aws/credentials",
"PROFILE_NAME": "default",
"GLUE_WAREHOUSE": "s3://{bucket_name}",
"GLUE_ENDPOINT": "http://localhost:9000", // Glue service endpoint, optional
"LOG_LEVEL": "info"
}
}
}
}
// or use ACCESS_KEY and SECRET_KEY
{
"mcpServers": {
"iceberg-mcp": {
"command": "PATH-TO-BINARY/iceberg-mcp",
"env": {
"CATALOG_KIND": "glue",
"GLUE_WAREHOUSE": "s3a://{bucket_name}",
"GLUE_ENDPOINT": "http://localhost:9000", // Optional
"AWS_ACCESS_KEY_ID": "my_access_id",
"AWS_SECRET_ACCESS_KEY": "my_secret_key",
"AWS_REGION_NAME": "us-east-1",
"S3_ENDPOINT": "http://localhost:9000",
"S3_ACCESS_KEY_ID": "admin",
"S3_SECRET_ACCESS_KEY": "password",
"S3_REGION": "us-east-1",
"LOG_LEVEL": "info"
}
}
}
}
Debugging
Claude Desktop
View logs for troubleshooting with:
tail -n 20 -F ~/Library/Logs/Claude/mcp-server-iceberg-mcp.log
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.