MCP Iceberg Catalog について
Apache Iceberg のデータレイクを扱うユーザー向けの MCP サーバーです。テーブルの発見やメタデータ操作に加え、SQL による検索と限定的なデータ挿入を提供します。
主な機能
- 01REST カタログへの接続
- 02テーブル一覧とスキーマ確認
- 03SELECT クエリの実行
- 04データの挿入
- 05カタログとテーブルメタデータの管理
活用シーン
- 01Iceberg カタログ内のテーブル発見
- 02テーブルスキーマとメタデータの確認
- 03テーブルデータの絞り込みと検索
- 04Iceberg テーブルへのデータ挿入
MCP 対応
MCP サーバーとして、Claude などのクライアントに Iceberg テーブルの SQL 検索・管理機能を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Iceberg Catalog
Apache Iceberg と連携するための MCP(Model Context Protocol)サーバー実装です。このサーバーは、Claude デスクトップを通じて Iceberg テーブルをクエリおよび管理するための SQL インターフェースを提供します。
Iceberg データレイクカタログとしての Claude Desktop

Claude Desktop へのインストール方法
Smithery 経由でのインストール
Smithery 経由で MCP Iceberg Catalog を Claude Desktop に自動インストールするには、次の手順に従います。
npx -y @smithery/cli install @ahodroj/mcp-iceberg-service --client claude
-
前提条件
- Python 3.10 以降
- UV パッケージインストーラー(推奨)または pip
- Iceberg REST カタログおよび S3 互換ストレージへのアクセス
-
Claude Desktop へのインストール方法
claude_desktop_config.jsonに次の設定を追加します。
{
"mcpServers": {
"iceberg": {
"command": "uv",
"args": [
"--directory",
"PATH_TO_/mcp-iceberg-service",
"run",
"mcp-server-iceberg"
],
"env": {
"ICEBERG_CATALOG_URI" : "http://localhost:8181",
"ICEBERG_WAREHOUSE" : "YOUR ICEBERG WAREHOUSE NAME",
"S3_ENDPOINT" : "OPTIONAL IF USING S3",
"AWS_ACCESS_KEY_ID" : "YOUR S3 ACCESS KEY",
"AWS_SECRET_ACCESS_KEY" : "YOUR S3 SECRET KEY"
}
}
}
}
設計
アーキテクチャ
MCP サーバーは、次の 3 つの主要コンポーネントで構成されています。
-
MCP プロトコルハンドラー
- Claude との通信に Model Context Protocol を実装します
- stdio 経由でリクエスト/レスポンスのサイクルを処理します
- サーバーのライフサイクルと初期化を管理します
-
クエリプロセッサー
sqlparseを使用して SQL クエリを解析します- 次の操作をサポートします。
- LIST TABLES
- DESCRIBE TABLE
- SELECT
- INSERT
-
Iceberg 連携
- テーブル操作に
pyicebergを使用します - 効率的なデータ処理のために PyArrow と連携します
- カタログ接続とテーブル操作を管理します
- テーブル操作に
PyIceberg との連携
サーバーでは、PyIceberg を次のように利用します。
-
カタログ管理
- REST カタログに接続します
- テーブルメタデータを管理します
- 名前空間の操作を処理します
-
データ操作
- PyIceberg 型と PyArrow 型を相互に変換します
- PyArrow テーブルを通じたデータ挿入を処理します
- テーブルスキーマとフィールド型を管理します
-
クエリ実行
- SQL を PyIceberg 操作に変換します
- データスキャンとフィルタリングを処理します
- 結果セットの変換を管理します
今後必要な実装
-
クエリ操作
- UPDATE 操作を実装
- DELETE のサポートを追加
- スキーマ定義を含む CREATE TABLE をサポート
- ALTER TABLE 操作を追加
- テーブルのパーティショニングを実装
-
データ型
- 複合型(配列、マップ、構造体)をサポート
- タイムゾーン付きタイムスタンプの処理を追加
- 10 進数型をサポート
- ネストされたフィールドのサポートを追加
-
パフォーマンスの改善
- バッチ挿入を実装
- クエリ最適化を追加
- 並列スキャンをサポート
- 頻繁にアクセスされるデータ向けのキャッシュ層を追加
-
セキュリティ機能
- 認証メカニズムを追加
- ロールベースのアクセス制御を実装
- 行レベルセキュリティを追加
- 暗号化接続をサポート
-
監視と管理
- メトリクス収集を追加
- クエリロギングを実装
- パフォーマンス監視を追加
- テーブルのメンテナンス操作をサポート
-
エラー処理
- エラーメッセージを改善
- 一時的な障害に対する再試行メカニズムを追加
- トランザクションサポートを実装
- データ検証を追加
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。