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.

Catálogo Iceberg MCP

Implementación de un servidor MCP (Protocolo de Contexto de Modelo) para interactuar con Apache Iceberg. Este servidor proporciona una interfaz SQL para consultar y gestionar tablas de Iceberg a través del escritorio Claude.

Claude Desktop como su catálogo de Iceberg Data Lake

Cómo instalar en Claude Desktop

Instalación mediante herrería

Para instalar MCP Iceberg Catalog para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @ahodroj/mcp-iceberg-service --client claude
  1. Prerrequisitos
    • Python 3.10 o superior
    • Instalador de paquetes UV (recomendado) o pip
    • Acceso a un catálogo REST de Iceberg y almacenamiento compatible con S3
  2. Cómo instalar en Claude Desktop Agregue la siguiente configuración a 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" } } } }

Diseño

Arquitectura

El servidor MCP se basa en tres componentes principales:

  1. Manejador de protocolo MCP
    • Implementa el Protocolo de Contexto Modelo para la comunicación con Claude
    • Maneja ciclos de solicitud/respuesta a través de stdio
    • Gestiona el ciclo de vida y la inicialización del servidor.
  2. Procesador de consultas
    • Analiza consultas SQL usando sqlparse
    • Apoya operaciones:
      • LISTA DE TABLAS
      • DESCRIBIR TABLA
      • SELECCIONAR
      • INSERTAR
  3. Integración de Iceberg
    • Utiliza pyiceberg para operaciones de tabla
    • Se integra con PyArrow para un manejo eficiente de datos.
    • Administra las conexiones del catálogo y las operaciones de tabla.

Integración de PyIceberg

El servidor utiliza PyIceberg de varias maneras:

  1. Gestión de catálogos
    • Se conecta a catálogos REST
    • Administra los metadatos de la tabla
    • Maneja operaciones de espacio de nombres
  2. Operaciones de datos
    • Convierte entre tipos PyIceberg y PyArrow
    • Maneja la inserción de datos a través de tablas de PyArrow
    • Administra esquemas de tablas y tipos de campos
  3. Ejecución de consultas
    • Traduce SQL a operaciones de PyIceberg
    • Maneja el escaneo y filtrado de datos
    • Gestiona la conversión del conjunto de resultados

Se necesita mayor implementación

  1. Operaciones de consulta
    • [ ] Implementar operaciones UPDATE
    • [ ] Agregar soporte para ELIMINAR
    • [ ] Soporte para CREATE TABLE con definición de esquema
    • [ ] Agregar operaciones ALTER TABLE
    • [ ] Implementar soporte para particionamiento de tablas
  2. Tipos de datos
    • [ ] Soporte para tipos complejos (matrices, mapas, estructuras)
    • [ ] Agregar marca de tiempo con manejo de zona horaria
    • [ ] Soporte para tipos decimales
    • [ ] Agregar soporte para campos anidados
  3. Mejoras de rendimiento
    • [ ] Implementar inserciones por lotes
    • [ ] Agregar optimización de consultas
    • [ ] Soporte para escaneos paralelos
    • [ ] Agregar capa de almacenamiento en caché para datos a los que se accede con frecuencia
  4. Características de seguridad
    • [ ] Agregar mecanismos de autenticación
    • [ ] Implementar control de acceso basado en roles
    • [ ] Agregar seguridad a nivel de fila
    • [ ] Soporte para conexiones cifradas
  5. Monitoreo y gestión
    • [ ] Agregar colección de métricas
    • [ ] Implementar el registro de consultas
    • [ ] Agregar supervisión del rendimiento
    • [ ] Soporte para operaciones de mantenimiento de tablas
  6. Manejo de errores
    • [ ] Mejorar los mensajes de error
    • [ ] Agregar mecanismos de reintento para fallas transitorias
    • [ ] Implementar soporte para transacciones
    • [ ] Agregar validación de datos

You must be authenticated.

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

Un servidor de protocolo de contexto de modelo que proporciona una interfaz SQL para consultar y administrar tablas Apache Iceberg a través del escritorio Claude, lo que permite la interacción en lenguaje natural con los lagos de datos de 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