mcpField
I
Iceberg MCP

Iceberg MCP

本地服务
github.com/ryft-io数据库4180 周前更新

关于 Iceberg MCP

IcebergMCP 是一个 MCP 服务,让用户在 Claude、Cursor 等 MCP 客户端中,用自然语言查询 Apache Iceberg 湖仓中的命名空间、表结构和属性。目前通过 AWS Glue 目录提供只读访问。

主要功能

  1. 01列出命名空间与数据表
  2. 02查看表结构与分区
  3. 03获取表大小与记录数等属性
  4. 04通过 AWS 配置文件连接 Glue 目录
  5. 05仅读取,不修改数据

适用场景

  1. 01用自然语言探索湖仓中的表结构
  2. 02为数据分析编写 SQL 查询前了解字段类型
  3. 03排查表的大小或分区相关问题

MCP 相关

IcebergMCP 是一个 MCP 服务,向 MCP 客户端提供获取命名空间、表结构、分区和表属性的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Iceberg 徽标

IcebergMCP 🚀

AI 原生湖仓集成

PyPI - Version License

IcebergMCP 是一个 Model Context Protocol(MCP)服务,让你可以在 Claude、Cursor 或任何其他 MCP 客户端中使用自然语言与 Apache Iceberg™ 湖仓交互。

目录

安装

先决条件
  • 在 AWS Glue 中管理的 Apache Iceberg™ 目录
  • 已在本机配置 AWS 配置文件,并拥有访问该目录的权限
  • uv 包管理器——通过 brew install uv 安装,或参阅官方安装指南
Claude
  1. 在 Claude 中,前往 Settings > Developer > Edit Config > claude_desktop_config.json

  2. 添加以下内容:

{
  "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
  1. 在 Cursor 中,前往 Settings -> Cursor Settings -> MCP -> Add new global MCP server

  2. 添加以下内容:

{
  "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™ 表交互。以下是一些与湖仓交互的简单示例:

  1. “列出目录中的所有命名空间”
  2. “列出名为 bronze 的命名空间中的所有表”
  3. “表 raw_events 中有哪些字符串列?”
  4. “raw_events 表有多大?”
  5. “生成一条 SQL 查询,计算 raw_metrics 中所有数值列的总和和 p95,筛选条件为 users_info 中的所有 VIP 用户”
  6. “为什么最近查询 raw_events 的速度变慢了很多?”

限制与安全注意事项

  • 目前所有工具均为只读,无法修改或删除湖仓中的数据
  • 当前支持的目录:
    • AWS Glue
    • Apache Iceberg™ REST Catalog(即将推出!)

参与贡献

欢迎贡献!请随时提交 Pull Request。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。