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 Desktop을 통해 Iceberg 테이블을 쿼리하고 관리하기 위한 SQL 인터페이스를 제공합니다.

Iceberg Data Lake 카탈로그로서의 Claude Desktop

Claude Desktop에 설치하는 방법

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 MCP Iceberg Catalog를 자동으로 설치하려면:

지엑스피1

  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 서버는 세 가지 주요 구성 요소로 구성됩니다.

  1. MCP 프로토콜 핸들러
    • Claude와의 통신을 위한 모델 컨텍스트 프로토콜을 구현합니다.
    • 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. 데이터 유형
    • [ ] 복합 유형(배열, 맵, 구조체) 지원
    • [ ] 시간대 처리에 타임스탬프 추가
    • [ ] 10진수 형식 지원
    • [ ] 중첩 필드 지원 추가
  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