MCP Iceberg Catalog
MCP冰山目录
用于与 Apache Iceberg 交互的 MCP(模型上下文协议)服务器实现。该服务器提供 SQL 接口,用于通过 Claude 桌面查询和管理 Iceberg 表。
Claude Desktop 作为您的 Iceberg 数据湖目录

Related MCP server: Databricks MCP Server
如何在 Claude Desktop 中安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 MCP Iceberg Catalog:
npx -y @smithery/cli install @ahodroj/mcp-iceberg-service --client claude先决条件
Python 3.10 或更高版本
UV 包安装程序(推荐)或 pip
访问 Iceberg REST 目录和 S3 兼容存储
如何在 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"
}
}
}
}设计
建筑学
MCP 服务器由三个主要组件构成:
MCP 协议处理器
实现模型上下文协议以便与 Claude 进行通信
通过 stdio 处理请求/响应周期
管理服务器生命周期和初始化
查询处理器
使用
sqlparse解析 SQL 查询支持操作:
列表表
描述表
选择
插入
冰山整合
使用
pyiceberg进行表操作与 PyArrow 集成以实现高效的数据处理
管理目录连接和表操作
PyIceberg 集成
该服务器通过多种方式利用 PyIceberg:
目录管理
连接到 REST 目录
管理表元数据
处理命名空间操作
数据操作
在 PyIceberg 和 PyArrow 类型之间转换
通过 PyArrow 表处理数据插入
管理表模式和字段类型
查询执行
将 SQL 转换为 PyIceberg 操作
处理数据扫描和过滤
管理结果集转换
需要进一步实施
查询操作
[ ] 实现 UPDATE 操作
[ ] 添加删除支持
[ ] 支持使用架构定义的 CREATE TABLE
[ ] 添加 ALTER TABLE 操作
[ ] 实现表分区支持
数据类型
[ ] 支持复杂类型(数组、映射、结构体)
[ ] 添加带有时区处理的时间戳
[ ] 支持十进制类型
[ ] 添加嵌套字段支持
性能改进
[ ] 实现批量插入
[ ] 添加查询优化
[ ] 支持并行扫描
[ ] 为频繁访问的数据添加缓存层
安全功能
[ ] 添加身份验证机制
[ ] 实施基于角色的访问控制
[ ] 添加行级安全性
[ ] 支持加密连接
监控和管理
[ ] 添加指标收集
[ ] 实现查询日志记录
[ ] 添加性能监控
[ ] 支持表维护操作
错误处理
[ ] 改进错误信息
[ ] 添加瞬时故障重试机制
[ ] 实现事务支持
[ ] 添加数据验证
Available Tools
1 toolexecute_queryC
Execute a query on Iceberg tables
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Query to execute (supports: LIST TABLES, DESCRIBE TABLE, SELECT, CREATE TABLE) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It mentions the query types supported (LIST TABLES, DESCRIBE TABLE, SELECT, CREATE TABLE), which adds some context, but fails to address critical aspects like permissions needed, whether it's read-only or mutating, error handling, or output format expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a query execution tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits, error handling, permissions, or what to expect from results, leaving significant gaps for an AI agent to operate effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, explicitly documenting the 'query' parameter with supported query types. The description does not add any additional semantic details beyond what the schema already provides, so it meets the baseline for adequate but unremarkable coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Execute a query') and target resource ('on Iceberg tables'), providing a specific verb+resource combination. However, with no sibling tools mentioned, it cannot demonstrate differentiation from alternatives, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or contextual constraints. It merely states what the tool does without indicating appropriate scenarios or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.0- First observed
execute_query
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools, as there are no other tools to confuse it with. The tool's purpose is clearly defined and distinct by default.
Since there is only one tool, naming consistency is inherently perfect with no deviations or mixed conventions to evaluate. The tool name follows a clear verb_noun pattern (execute_query).
A single tool is too few for a catalog server, which typically requires operations like list_tables, get_table, create_table, or update_metadata to be useful. This minimal set severely limits functionality and scope.
The tool set is severely incomplete for an Iceberg catalog domain, lacking basic CRUD operations such as listing, creating, or managing tables. With only a query execution tool, agents cannot perform essential catalog tasks, leading to dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The BigQuery remote MCP server is a fully managed service that uses the Model Context Protocol to connect AI applications and LLMs to BigQuery data sources. It provides secure, standardized tools for AI agents to list datasets and tables, retrieve schemas, generate and execute SQL queries through natural language, and analyze data—enabling direct access to enterprise analytics data without requiring manual SQL coding.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Claude to execute SQL queries on Snowflake databases with automatic connection lifecycle management.45MIT
- FlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables LLMs to interact with Databricks workspaces through natural language, allowing SQL query execution and job management operations.50-
- AlicenseCqualityDmaintenanceAn MCP server that enables natural language interaction with Apache Iceberg data lakehouses, allowing users to query table metadata, schemas, and properties through Claude, Cursor, or other MCP clients.541Apache 2.0
- AlicenseBqualityCmaintenanceA Model Context Protocol server that provides seamless integration with Trino and Iceberg, enabling data exploration, querying, and table maintenance through a standard interface.2225Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ahodroj/mcp-iceberg-service'
If you have feedback or need assistance with the MCP directory API, please join our Discord server