iceberg-mcp
29
Iceberg MCP is an MCP server designed for Apache Iceberg catalogs, offering asynchronous capabilities and logging features. It supports Rest and AWS Glue catalogs and can be integrated with Claude Desktop for enhanced configuration.
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.json
with 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
{
"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",
"WAREHOUSE": "s3://{bucket_name}/{namespace}/{table}",
"LOG_LEVEL": "info"
}
}
}
}
Debugging
Claude Desktop
View logs for troubleshooting with:
tail -n 20 -F ~/Library/Logs/Claude/mcp-server-iceberg-mcp.log