A MCP (Model Context Protocol) server implementation for interacting with Apache Iceberg. This server provides a SQL interface for querying and
MCP Iceberg Service MCP server exists for a simple reason — assistants are far more useful when they can act on MCP Iceberg Service directly instead of describing what you should do. A MCP (Model Context Protocol) server implementation for interacting with Apache Iceberg. This server provides a SQL interface for querying and managing Iceberg tables through Claude desktop.
Installation goes through your MCP client rather than a global install: point it at @smithery/cli on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
Once MCP Iceberg Service is connected, these are the calls the assistant has available:
SELECT — INSERTArchitecture — 1. MCP Protocol Handler - Implements the Model Context Protocol for communication with Claude - Handles request/response cycles through stdio -You will need 5 environment variables: ICEBERG_CATALOG_URI, ICEBERG_WAREHOUSE, S3_ENDPOINT, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Among the database access options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. MCP Iceberg Service's toolset — SELECT, Architecture — is a fair guide to whether it matches your workflow. It is maintained by ahodroj; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| SELECT | INSERT |
| Architecture | 1. **MCP Protocol Handler** - Implements the Model Context Protocol for communication with Claude - Handles request/response cycles through stdio - Manages server lifecycle and initialization |
{
"mcpServers": {
"iceberg-service": {
"command": "npx",
"args": ["-y", "@smithery/cli"],
"env": {
"ICEBERG_CATALOG_URI": "your-value",
"ICEBERG_WAREHOUSE": "your-value",
"S3_ENDPOINT": "your-value",
"AWS_ACCESS_KEY_ID": "your-value",
"AWS_SECRET_ACCESS_KEY": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| ICEBERG_CATALOG_URI | Configuration value read at startup. | Optional |
| ICEBERG_WAREHOUSE | Configuration value read at startup. | Optional |
| S3_ENDPOINT | Configuration value read at startup. | Optional |
| AWS_ACCESS_KEY_ID | Credential the server authenticates with. | Yes |
| AWS_SECRET_ACCESS_KEY | Credential the server authenticates with. | Yes |
Read-only SQL access to Postgres — let your assistant inspect schemas and answer questions from real data.
Manage your whole Supabase project in conversation — database, auth, storage, Edge Functions and branches.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Official MongoDB server covering data, schemas and Atlas management — from find queries to spinning up clusters.
Serverless Postgres with database branching — point your assistant at Neon and let it work on disposable copies.