iceberg-mcp-server-trino
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TRINO_HOST | Yes | Trino coordinator hostname | |
| TRINO_PORT | No | Trino port | 443 |
| TRINO_USER | Yes | Username | |
| TRINO_SCHEMA | No | Default schema | default |
| MCP_TRANSPORT | No | Transport type (stdio, http, sse) | stdio |
| TRINO_CATALOG | No | Iceberg catalog name | iceberg |
| TRINO_USE_SSL | No | Use HTTPS | true |
| TRINO_PASSWORD | Yes | Password (LDAP/basic auth) | |
| TRINO_SSL_VERIFY | No | SSL verification (true, false, or path to CA cert) | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| execute_queryB | Execute a read-only SQL query on Trino and return results as JSON. |
| get_schemaA | Retrieve the list of table names in the configured Trino catalog and schema. |
| get_table_healthA | Assess Iceberg table health using metadata tables (snapshots, history, files, partitions, manifests, metadata_log_entries). Returns structured JSON summaries, recent activity, and health signals. Pass the table as name or catalog.schema.table (e.g. flights or iceberg.default.flights). |
| list_metadata_tablesA | List Iceberg metadata tables available for a table. Pass table or catalog.schema.table (e.g. flights or iceberg.default.flights). |
| describe_metadata_tableC | Describe the schema of an Iceberg metadata table (e.g. snapshots, files, refs). |
| query_metadata_tableC | Query an Iceberg metadata table with a safe row limit. Optional comma-separated columns. |
| list_snapshotsC | List Iceberg snapshots for a table ordered by committed_at (most recent first). |
| describe_table_historyC | List snapshot history from the Iceberg $history metadata table. |
| get_snapshot_summaryC | Get metadata for a single Iceberg snapshot ID including parsed summary stats. |
| list_refsB | List Iceberg branches and tags from the refs metadata table. |
| query_at_snapshotB | Time-travel read using FOR VERSION AS OF snapshot_id. Optional column list and limit. |
| query_at_timestampC | Time-travel read using FOR TIMESTAMP AS OF timestamp (e.g. '2024-07-18 10:12:20'). |
| diff_snapshotsC | Compare two Iceberg snapshots by ID and return metadata and summary diffs. |
| explain_queryA | Return the Trino EXPLAIN plan for a read-only SELECT or WITH query. |
| partition_pruning_checkB | EXPLAIN a read-only query and heuristically assess whether partition pruning is likely. |
| table_scan_cost_hintsA | Estimate full-scan cost signals from Iceberg files/partitions metadata for a table. |
| hot_partitionsC | List the hottest Iceberg partitions by file count and record count to detect skew. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Each tool has a clear, distinct purpose covering metadata tables, snapshots, time travel, queries, health, and partitions. No two tools appear to do the same thing.
Most tools follow a verb_noun pattern in snake_case, such as list_snapshots and get_table_health. Exceptions like hot_partitions and partition_pruning_check are minor deviations but still clear.
17 tools is well-scoped for a read-only Iceberg metadata server via Trino, covering exploration, analysis, and querying without being overwhelming.
The set covers most read-only operations (snapshots, metadata tables, health, time travel) but lacks a tool to retrieve the current table schema (columns and types), which is a notable gap.