Skip to content

morristai/iceberg-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Iceberg MCP

An MCP server for Apache Iceberg catalogs with async and logging.

2025-04-17.10-41-31.mp4

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:

  1. Open Settings > Developer > Edit Config.
  2. 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
// 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

About

MCP server for Apache Iceberg

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages