https://github.com/morristai/iceberg-mcp
MCP server for Apache Iceberg
https://github.com/morristai/iceberg-mcp
catalog glue iceberg lakehouse mcp olap
Last synced: 4 months ago
JSON representation
MCP server for Apache Iceberg
- Host: GitHub
- URL: https://github.com/morristai/iceberg-mcp
- Owner: morristai
- Created: 2025-04-14T00:15:20.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-04-17T14:55:47.000Z (6 months ago)
- Last Synced: 2025-06-15T00:10:06.861Z (4 months ago)
- Topics: catalog, glue, iceberg, lakehouse, mcp, olap
- Language: Rust
- Homepage:
- Size: 46.9 KB
- Stars: 29
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-mcp-servers - Iceberg Mcp - Provides AI access to Apache Iceberg catalogs using MCP, allowing exploration of data lake structures. Specialized MCP server for data engineering and analytics. ([Read more](/details/iceberg-mcp.md)) `apache-iceberg` `data-lake` `analytics` `mcp` `exploration` (Data Analysis & Exploration MCP Servers)
README
# Iceberg MCP
An [MCP](https://modelcontextprotocol.io/introduction) server for [Apache Iceberg](https://iceberg.apache.org/) catalogs with async and logging.
[Iceberg MCP DEMO](https://github.com/user-attachments/assets/13c22d3c-c0a1-4767-acfa-1ffdd1941afd)
### 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](https://github.com/morristai/iceberg-mcp/releases).
### Option 2: Build from Source
To build the project manually, ensure you have [Rust](https://www.rust-lang.org/tools/install) installed, then run:
```shell
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
```json
{
"mcpServers": {
"iceberg-mcp": {
"command": "PATH-TO-BINARY/iceberg-mcp",
"env": {
"CATALOG_KIND": "rest",
"REST_URI": "http://localhost:8080",
"LOG_LEVEL": "info"
}
}
}
}
```- AWS Glue Catalogs
```json
{
"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:
```shell
tail -n 20 -F ~/Library/Logs/Claude/mcp-server-iceberg-mcp.log
```