Iceberg表查询服务

通过Apache Impala提供对Iceberg表的只读访问,使LLM能够检查数据库模式并执行只读查询。

  • by peterableda
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 peterableda/iceberg-mcp-server

使用说明

Cloudera冰山MCP服务器(通过Impala)

这是一个a模型上下文协议服务器,通过Apache Impala提供对冰山表的只读访问。此服务器使LLM能够检查数据库模式并执行只读查询。

  • execute_query(query: str):在Impala上运行任何SQL查询,并将结果作为JSON返回。
  • get_schema():列出当前数据库中可用的所有表。

使用Claude Desktop

要将此服务器与Claude Desktop应用程序一起使用,请将以下配置添加到您的“mcpServers”部分 claude_desktop_config.json:

选项1:从GitHub直接安装(推荐)

{
  "mcpServers": {
    "iceberg-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/cloudera/iceberg-mcp-server@main",
        "run-server"
      ],
      "env": {
        "IMPALA_HOST": "coordinator-default-impala.example.com",
        "IMPALA_PORT": "443",
        "IMPALA_USER": "username",
        "IMPALA_PASSWORD": "password",
        "IMPALA_DATABASE": "default"
      }
    }
  }
}

选项2:本地安装(克隆存储库后)

{
  "mcpServers": {
    "iceberg-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/iceberg-mcp-server",
        "run",
        "src/iceberg_mcp_server/server.py"
      ],
      "env": {
        "IMPALA_HOST": "coordinator-default-impala.example.com",
        "IMPALA_PORT": "443",
        "IMPALA_USER": "username",
        "IMPALA_PASSWORD": "password",
        "IMPALA_DATABASE": "default"
      }
    }
  }
}

对于选项2,替换 /path/to 以及您访问此存储库的路径。根据Impala配置设置环境变量。

使用AI框架

这 ./examples 该文件夹包含几个示例,说明如何将此MCP服务器与常见的AI框架(如LangChain/LangGraph、OpenAI SDK)集成。

运输

MCP服务器的传输协议可通过以下方式配置 MCP_TRANSPORT 环境变量。支持的值:

  • stdio (默认) --通过标准输入/输出进行通信。适用于本地工具、命令行脚本以及与Claude Desktop等客户端的集成。
  • http -暴露HTTP服务器。适用于基于web的部署、微服务、通过网络公开MCP。
  • sse --使用服务器发送事件(SSE)传输。适用于依赖SSE的现有基于web的部署。

版权所有(c)2025-Cloudera,股份有限公司保留所有权利。