Skip to content

About

MCP server for Apache Iceberg

Topics

Resources

Stars

36 stars

Watchers

2 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

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

36 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages