Lets Claude browse an Apache Iceberg catalog, discover tables in the data lake and search their metadata.
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add iceberg-service --env AWS_ACCESS_KEY_ID='<AWS_ACCESS_KEY_ID>' --env AWS_SECRET_ACCESS_KEY='<AWS_SECRET_ACCESS_KEY>' --env ICEBERG_CATALOG_URI='<ICEBERG_CATALOG_URI>' --env ICEBERG_WAREHOUSE='<ICEBERG_WAREHOUSE>' --env S3_ENDPOINT='<S3_ENDPOINT>' -- uv --directory PATH_TO_/mcp-iceberg-service run mcp-server-iceberg~/.codex/config.toml
[mcp_servers.iceberg-service]
command = "uv"
args = ["--directory", "PATH_TO_/mcp-iceberg-service", "run", "mcp-server-iceberg"]
env = { AWS_ACCESS_KEY_ID = "<AWS_ACCESS_KEY_ID>", AWS_SECRET_ACCESS_KEY = "<AWS_SECRET_ACCESS_KEY>", ICEBERG_CATALOG_URI = "<ICEBERG_CATALOG_URI>", ICEBERG_WAREHOUSE = "<ICEBERG_WAREHOUSE>", S3_ENDPOINT = "<S3_ENDPOINT>" }
# codex mcp add iceberg-service --env AWS_ACCESS_KEY_ID='<AWS_ACCESS_KEY_ID>' --env AWS_SECRET_ACCESS_KEY='<AWS_SECRET_ACCESS_KEY>' --env ICEBERG_CATALOG_URI='<ICEBERG_CATALOG_URI>' --env ICEBERG_WAREHOUSE='<ICEBERG_WAREHOUSE>' --env S3_ENDPOINT='<S3_ENDPOINT>' -- uv --directory PATH_TO_/mcp-iceberg-service run mcp-server-iceberg~/.cursor/mcp.json
{
"mcpServers": {
"iceberg-service": {
"command": "uv",
"args": [
"--directory",
"PATH_TO_/mcp-iceberg-service",
"run",
"mcp-server-iceberg"
],
"env": {
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"ICEBERG_CATALOG_URI": "<ICEBERG_CATALOG_URI>",
"ICEBERG_WAREHOUSE": "<ICEBERG_WAREHOUSE>",
"S3_ENDPOINT": "<S3_ENDPOINT>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"iceberg-service": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"PATH_TO_/mcp-iceberg-service",
"run",
"mcp-server-iceberg"
],
"env": {
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"ICEBERG_CATALOG_URI": "<ICEBERG_CATALOG_URI>",
"ICEBERG_WAREHOUSE": "<ICEBERG_WAREHOUSE>",
"S3_ENDPOINT": "<S3_ENDPOINT>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"iceberg-service": {
"command": "uv",
"args": [
"--directory",
"PATH_TO_/mcp-iceberg-service",
"run",
"mcp-server-iceberg"
],
"env": {
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"ICEBERG_CATALOG_URI": "<ICEBERG_CATALOG_URI>",
"ICEBERG_WAREHOUSE": "<ICEBERG_WAREHOUSE>",
"S3_ENDPOINT": "<S3_ENDPOINT>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"iceberg-service": {
"command": "uv",
"args": [
"--directory",
"PATH_TO_/mcp-iceberg-service",
"run",
"mcp-server-iceberg"
],
"env": {
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"ICEBERG_CATALOG_URI": "<ICEBERG_CATALOG_URI>",
"ICEBERG_WAREHOUSE": "<ICEBERG_WAREHOUSE>",
"S3_ENDPOINT": "<S3_ENDPOINT>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"iceberg-service": {
"command": "uv",
"args": [
"--directory",
"PATH_TO_/mcp-iceberg-service",
"run",
"mcp-server-iceberg"
],
"env": {
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"ICEBERG_CATALOG_URI": "<ICEBERG_CATALOG_URI>",
"ICEBERG_WAREHOUSE": "<ICEBERG_WAREHOUSE>",
"S3_ENDPOINT": "<S3_ENDPOINT>"
}
}
}
}需要的环境变量
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYICEBERG_CATALOG_URIICEBERG_WAREHOUSES3_ENDPOINT
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。