关于 Iceberg MCP
IcebergMCP 是一个 MCP 服务,让用户在 Claude、Cursor 等 MCP 客户端中,用自然语言查询 Apache Iceberg 湖仓中的命名空间、表结构和属性。目前通过 AWS Glue 目录提供只读访问。
主要功能
- 01列出命名空间与数据表
- 02查看表结构与分区
- 03获取表大小与记录数等属性
- 04通过 AWS 配置文件连接 Glue 目录
- 05仅读取,不修改数据
适用场景
- 01用自然语言探索湖仓中的表结构
- 02为数据分析编写 SQL 查询前了解字段类型
- 03排查表的大小或分区相关问题
MCP 相关
IcebergMCP 是一个 MCP 服务,向 MCP 客户端提供获取命名空间、表结构、分区和表属性的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
IcebergMCP 是一个 Model Context Protocol(MCP)服务,让你可以在 Claude、Cursor 或任何其他 MCP 客户端中使用自然语言与 Apache Iceberg™ 湖仓交互。
目录
安装
先决条件
- 在 AWS Glue 中管理的 Apache Iceberg™ 目录
- 已在本机配置 AWS 配置文件,并拥有访问该目录的权限
uv包管理器——通过brew install uv安装,或参阅官方安装指南
Claude
-
在 Claude 中,前往 Settings > Developer > Edit Config > claude_desktop_config.json
-
添加以下内容:
{
"mcpServers": {
"iceberg-mcp": {
"command": "uv", // If uv can't be found, replace with full absolute path to uv
"args": [
"run",
"--with",
"iceberg-mcp",
"iceberg-mcp"
],
"env": {
"ICEBERG_MCP_PROFILE": "<aws-profile-name>"
}
}
}
}
Cursor
-
在 Cursor 中,前往 Settings -> Cursor Settings -> MCP -> Add new global MCP server
-
添加以下内容:
{
"mcpServers": {
"iceberg-mcp": {
"command": "uv", // If uv can't be found, replace with full absolute path to uv
"args": [
"run",
"--with",
"iceberg-mcp",
"iceberg-mcp"
],
"env": {
"ICEBERG_MCP_PROFILE": "<aws-profile-name>"
}
}
}
}
配置
可以使用环境变量配置 AWS 连接:
ICEBERG_MCP_PROFILE- 要使用的 AWS 配置文件名称。此角色将被代入,并用于连接目录和对象存储。若未指定,则使用默认角色。ICEBERG_MCP_REGION- 要使用的 AWS 区域。此变量用于确定目录和对象存储的位置。默认值为us-east-1。
可用工具
该服务提供以下工具,用于与 Apache Iceberg™ 表交互:
get_namespaces:获取 Apache Iceberg™ 目录中的所有命名空间get_iceberg_tables:获取指定命名空间中的所有表get_table_schema:返回指定表的架构get_table_properties:返回指定表的属性,例如总大小和记录数get_table_partitions:获取指定表的所有分区
示例
安装并配置后,你就可以通过 MCP 客户端与 Apache Iceberg™ 表交互。以下是一些与湖仓交互的简单示例:
- “列出目录中的所有命名空间”
- “列出名为
bronze的命名空间中的所有表” - “表
raw_events中有哪些字符串列?” - “
raw_events表有多大?” - “生成一条 SQL 查询,计算
raw_metrics中所有数值列的总和和 p95,筛选条件为users_info中的所有 VIP 用户” - “为什么最近查询
raw_events的速度变慢了很多?”
限制与安全注意事项
- 目前所有工具均为只读,无法修改或删除湖仓中的数据
- 当前支持的目录:
- AWS Glue
- Apache Iceberg™ REST Catalog(即将推出!)
参与贡献
欢迎贡献!请随时提交 Pull Request。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。