MCP Iceberg Catalog

by ahodroj
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides a SQL interface for querying and managing Apache Iceberg tables, allowing users to list tables, describe table structures, execute SELECT queries, and insert data into Iceberg data lakes.

MCP 氷山カタログ

Apache Icebergと連携するためのMCP(Model Context Protocol)サーバー実装。このサーバーは、ClaudeデスクトップからIcebergテーブルをクエリおよび管理するためのSQLインターフェースを提供します。

Claude Desktop を Iceberg Data Lake カタログとして

Claude Desktopへのインストール方法

Smithery経由でインストール

Smithery経由で Claude Desktop 用の MCP Iceberg Catalog を自動的にインストールするには:

npx -y @smithery/cli install @ahodroj/mcp-iceberg-service --client claude
  1. 前提条件
    • Python 3.10以上
    • UV パッケージインストーラー(推奨)または pip
    • Iceberg RESTカタログとS3互換ストレージへのアクセス
  2. 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 つの主要コンポーネントに基づいて構築されます。

  1. MCP プロトコル ハンドラー
    • クロードとの通信のためのモデルコンテキストプロトコルを実装します
    • stdio を通じてリクエスト/レスポンスのサイクルを処理します
    • サーバーのライフサイクルと初期化を管理します
  2. クエリプロセッサ
    • sqlparseを使用して SQL クエリを解析します
    • サポートされる操作:
      • リストテーブル
      • 表の説明
      • 選択
      • 入れる
  3. 氷山統合
    • テーブル操作にはpyiceberg使用する
    • PyArrowと統合して効率的なデータ処理を実現
    • カタログ接続とテーブル操作を管理します

PyIceberg 統合

サーバーは PyIceberg をいくつかの方法で利用します。

  1. カタログ管理
    • RESTカタログに接続する
    • テーブルメタデータを管理する
    • 名前空間の操作を処理する
  2. データ操作
    • PyIceberg型とPyArrow型間の変換
    • PyArrow テーブルを通じてデータ挿入を処理します
    • テーブルスキーマとフィールドタイプを管理します
  3. クエリ実行
    • SQLをPyIcebergの操作に変換する
    • データのスキャンとフィルタリングを処理
    • 結果セットの変換を管理する

さらなる実装が必要

  1. クエリ操作
    • [ ] UPDATE操作を実装する
    • [ ] DELETEサポートを追加
    • [ ] スキーマ定義付きのCREATE TABLEのサポート
    • [ ] ALTER TABLE操作を追加する
    • [ ] テーブルパーティションサポートを実装する
  2. データ型
    • [ ] 複合型(配列、マップ、構造体)のサポート
    • [ ] タイムゾーン処理付きのタイムスタンプを追加する
    • [ ] 小数点型のサポート
    • [ ] ネストされたフィールドのサポートを追加
  3. パフォーマンスの改善
    • [ ] バッチ挿入を実装する
    • [ ] クエリ最適化を追加する
    • [ ] 並列スキャンのサポート
    • [ ] 頻繁にアクセスされるデータにキャッシュ層を追加する
  4. セキュリティ機能
    • [ ] 認証メカニズムを追加する
    • [ ] ロールベースのアクセス制御を実装する
    • [ ] 行レベルのセキュリティを追加する
    • [ ] 暗号化された接続のサポート
  5. 監視と管理
    • [ ] メトリクスコレクションを追加する
    • [ ] クエリログの実装
    • [ ] パフォーマンス監視を追加する
    • [ ] テーブルメンテナンス操作のサポート
  6. エラー処理
    • [ ] エラーメッセージの改善
    • [ ] 一時的な障害に対する再試行メカニズムを追加する
    • [ ] トランザクションサポートを実装する
    • [ ] データ検証を追加する

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Claude デスクトップを通じて Apache Iceberg テーブルをクエリおよび管理するための SQL インターフェイスを提供し、Iceberg データ レイクとの自然言語による対話を可能にするモデル コンテキスト プロトコル サーバー。

  1. Claude Desktop as your Iceberg Data Lake Catalog
    1. How to Install in Claude Desktop
      1. Installing via Smithery
    2. Design
      1. Architecture
      2. PyIceberg Integration
    3. Further Implementation Needed
      ID: qy7z935pqj