morristai/iceberg-mcp
If you are the rightful owner of iceberg-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP server for Apache Iceberg catalogs with async and logging capabilities.
Iceberg 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