Apache Iceberg 集成
STDIO基于自然语言的冰山数据湖交互服务器
基于自然语言的冰山数据湖交互服务器
IcebergMCP is a Model Context Protocol (MCP) server that lets you interact with your Apache Iceberg™ Lakehouse using natural language in Claude, Cursor, or any other MCP client.
uv
package manager - install via brew install uv
or see official installation guideInside Claude, go to Settings > Developer > Edit Config > claude_desktop_config.json
Add the following:
{ "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>" } } } }
Inside Cursor, go to Settings -> Cursor Settings -> MCP -> Add new global MCP server
Add the following:
{ "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>" } } } }
Environment variables can be used to configure the AWS connection:
ICEBERG_MCP_PROFILE
- The AWS profile name to use. This role will be assumed and used to connect to the catalog and the object storage. If not specified, the default role will be used.ICEBERG_MCP_REGION
- The AWS region to use. This is used to determine the catalog and object storage location. us-east-1
by default.The server provides the following tools for interacting with your Apache Iceberg™ tables:
get_namespaces
: Gets all namespaces in the Apache Iceberg™ catalogget_iceberg_tables
: Gets all tables for a given namespaceget_table_schema
: Returns the schema for a given tableget_table_properties
: Returns table properties for a given table, like total size and record countget_table_partitions
: Gets all partitions for a given tableOnce installed and configured, you can start interacting with your Apache Iceberg™ tables through your MCP client. Here are some simple examples of how to interact with your lakehouse:
bronze
"raw_events
?raw_events
table?"raw_metrics
for all VIP users from users_info
"raw_events
recently become much slower?"Contributions are welcome! Please feel free to submit a Pull Request.