Iceberg MCP について
Iceberg MCP は、Apache Iceberg カタログ向けの MCP サーバーです。非同期処理とログ出力に対応しています。MCP クライアントから Iceberg のメタデータを参照したい場合に適しています。現在は REST カタログと AWS Glue カタログをサポートしています。
主な機能
- 01非同期処理とログ出力
- 02REST カタログと AWS Glue カタログに対応
- 03名前空間・テーブル・テーブルプロパティを取得するツール
- 04ログレベルの設定
- 05ビルド済みバイナリまたはソースからのビルド
活用シーン
- 01Claude Desktop から Iceberg の名前空間とテーブルを参照する
- 02データ分析のためにテーブルスキーマとプロパティを確認する
- 03カタログへの接続や実行時の問題を調査する
MCP 対応
本プロジェクトは MCP サーバーであり、namespaces、tables、table_schema、table_properties の 4 つのツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Iceberg MCP
非同期処理とロギングに対応した、Apache Iceberg カタログ向けの MCP サーバーです。
対応カタログ
| カタログの種類 | 対応 |
|---|---|
| Rest カタログ | ✅ |
| AWS Glue | ✅ |
| Hive Metastore | ❌ |
| S3 Table | ❌ |
対応ツール
| ツール | 説明 |
|---|---|
namespaces | Iceberg カタログ内のすべてのネームスペースを取得します |
tables | 指定したネームスペース内のすべてのテーブルを取得します |
table_schema | 指定したテーブルのスキーマを返します |
table_properties | 指定したテーブルのプロパティを返します |
インストール
オプション 1:リリースバイナリをダウンロード
最新のビルド済みバイナリをリリースページからダウンロードします。
オプション 2:ソースからビルド
プロジェクトを手動でビルドするには、Rust がインストールされていることを確認してから、次を実行します。
cargo build --release
コンパイルされたバイナリは ./target/release/iceberg-mcp にあります。
クライアントの設定
Claude Desktop
Iceberg MCP を Claude Desktop と連携するには:
Settings>Developer>Edit Configを開きます。claude_desktop_config.jsonを適切な設定で更新します。
- Rest カタログ
{
"mcpServers": {
"iceberg-mcp": {
"command": "PATH-TO-BINARY/iceberg-mcp",
"env": {
"CATALOG_KIND": "rest",
"REST_URI": "http://localhost:8080",
"LOG_LEVEL": "info"
}
}
}
}
- AWS Glue カタログ
// 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"
}
}
}
}
デバッグ
Claude Desktop
トラブルシューティング用のログを表示するには、次を実行します。
tail -n 20 -F ~/Library/Logs/Claude/mcp-server-iceberg-mcp.log
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。