An MCP server for Apache Iceberg catalogs with async and logging.
2025-04-17.10-41-31.mp4
| Catalog Type | Supported |
|---|---|
| Rest Catalogs | ✅ |
| AWS Glue | ✅ |
| Hive Metastore | ❌ |
| S3 Table | ❌ |
| 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 |
Download the latest pre-built binary from the Releases page.
To build the project manually, ensure you have Rust installed, then run:
cargo build --releaseThe compiled binary will be located at: ./target/release/iceberg-mcp
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
{
"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"
}
}
}
}View logs for troubleshooting with:
tail -n 20 -F ~/Library/Logs/Claude/mcp-server-iceberg-mcp.log