
MCP Iceberg Catalog

2025.04.04
5
Python数据湖管理SQL 查询Iceberg 集成数据库
MCP Iceberg Catalog 是一个基于 MCP(Model Context Protocol)的服务器实现,用于与 Apache Iceberg 交互。该服务提供了一个 SQL 接口,通过 Claude 桌面查询和管理 Iceberg 表。其主要功能包括 SQL 查询处理、Iceberg 表管理以及与 PyIceberg 的深度集成。适用于需要高效管理和查询 Iceberg 数据湖的场景。
View on GitHub
Overview
基本能力
产品定位
MCP Iceberg Catalog 是一个用于管理和查询 Apache Iceberg 表的 MCP 服务器实现,通过 Claude 桌面提供 SQL 接口。
核心功能
- SQL 接口:支持 LIST TABLES、DESCRIBE TABLE、SELECT 和 INSERT 等 SQL 操作。
- Iceberg 集成:使用 PyIceberg 进行表操作,支持 REST 目录连接和数据操作。
- 查询处理:解析 SQL 查询并转换为 PyIceberg 操作,支持数据扫描和过滤。
- 数据操作:支持数据插入和表管理,包括表结构和字段类型管理。
适用场景
- 数据湖管理:适用于需要管理和查询 Iceberg 数据湖的场景。
- 数据分析:支持通过 SQL 接口进行数据分析和查询。
- 数据集成:适用于需要将 Iceberg 数据集成到现有系统的场景。
工具列表
- Smithery:用于自动安装 MCP Iceberg Catalog。
- Claude Desktop:作为 Iceberg 数据湖目录的客户端。
- PyIceberg:用于 Iceberg 表操作和数据管理。
常见问题解答
- 安装依赖:需要 Python 3.10 或更高版本,以及 UV 包安装器或 pip。
- 配置要求:需要访问 Iceberg REST 目录和 S3 兼容存储。
- 功能限制:目前不支持 UPDATE、DELETE 和复杂类型操作。
使用教程
使用依赖
- Python 3.10 或更高版本
- UV 包安装器或 pip
- Iceberg REST 目录和 S3 兼容存储访问权限
安装教程
- 通过 Smithery 安装
npx -y @smithery/cli install @ahodroj/mcp-iceberg-service --client claude
- 配置 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"
}
}
}
}
调试方式
- 启动服务
uv --directory PATH_TO_/mcp-iceberg-service run mcp-server-iceberg
- 检查日志:查看服务启动日志以确认配置是否正确。
- 测试查询:通过 Claude 桌面执行简单的 SQL 查询以验证服务是否正常运行。
许可证
None