Trino Iceberg Integration
STDIOServer integrating with Trino and Iceberg for data exploration and querying capabilities.
Server integrating with Trino and Iceberg for data exploration and querying capabilities.
The MCP Trino Server is a Model Context Protocol (MCP) server that provides seamless integration with Trino and Iceberg, enabling advanced data exploration, querying, and table maintenance capabilities through a standard interface.
To install MCP Trino Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @alaturqua/mcp-trino-python --client claude
The easiest way to get started is to use the included Docker Compose configuration to run Trino locally:
docker-compose up -d
This will start a Trino server on localhost:8080
. You can now proceed with configuring the MCP server.
For quick installation, you can add the following configuration to your VS Code settings. You can do this by pressing Ctrl + Shift + P
and typing Preferences: Open User Settings (JSON)
.
Optionally, you can add it to a file called .vscode/mcp.json
in your workspace. This will allow you to share the configuration with others.
Note that the
mcp
key is not needed in the.vscode/mcp.json
file.
{ "mcp": { "servers": { "trino": { "command": "docker", "args": ["run", "--rm", "ghcr.io/alaturqua/mcp-trino-python:latest"], "env": { "TRINO_HOST": "${input:trino_host}", "TRINO_PORT": "${input:trino_port}", "TRINO_USER": "${input:trino_user}", "TRINO_PASSWORD": "${input:trino_password}", "TRINO_HTTP_SCHEME": "${input:trino_http_scheme}", "TRINO_CATALOG": "${input:trino_catalog}", "TRINO_SCHEMA": "${input:trino_schema}" } } } } }
Add the following configuration to your Claude Desktop settings:
{ "mcpServers": { "trino": { "command": "python", "args": ["./src/server.py"], "env": { "TRINO_HOST": "your-trino-host", "TRINO_PORT": "8080", "TRINO_USER": "trino" } } } }
Variable | Description | Default |
---|---|---|
TRINO_HOST | Trino server hostname | localhost |
TRINO_PORT | Trino server port | 8080 |
TRINO_USER | Trino username | trino |
TRINO_CATALOG | Default catalog | None |
TRINO_SCHEMA | Default schema | None |
TRINO_HTTP_SCHEME | HTTP scheme (http/https) | http |
TRINO_PASSWORD | Trino password | None |
show_catalogs
show_schemas
catalog
: Catalog name (string, required)show_tables
catalog
: Catalog name (string, required)schema
: Schema name (string, required)describe_table
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)execute_query
query
: SQL query to execute (string, required)show_catalog_tree
show_create_table
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)show_create_view
view
: View name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)show_stats
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)optimize
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)optimize_manifests
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)expire_snapshots
table
: Table name (string, required)retention_threshold
: Age threshold (e.g., "7d") (string, optional)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)show_table_properties
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)show_table_history
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)show_metadata_log_entries
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)show_snapshots
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)show_manifests
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)all_snapshots
: Include all snapshots (boolean, optional)show_partitions
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)show_files
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)show_entries
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)all_snapshots
: Include all snapshots (boolean, optional)show_refs
table
: Table name (string, required)catalog
: Catalog name (string, optional)schema
: Schema name (string, optional)limit
: Maximum number of queries to return (number, optional)This project is licensed under the Apache 2.0 License. Please refer to the LICENSE file for the full terms.