Trino Server
FreeNot checkedMCP server providing seamless integration with Trino and Iceberg for advanced data exploration, querying, and table maintenance.
About
MCP server providing seamless integration with Trino and Iceberg for advanced data exploration, querying, and table maintenance.
README
Add to Cursor Add to VS Code Add to Claude Add to ChatGPT Add to Codex Add to Gemini
MCP Trino Server
smithery badge Python 3.11+ VS Code Docker License
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.
Use Cases
- Interactive data exploration and analysis in Trino
- Automated Iceberg table maintenance and optimization
- Building AI-powered tools that interact with Trino databases
- Executing and managing SQL queries with proper result formatting
Prerequisites
- A running Trino server (or Docker Compose for local development)
- Python 3.11 or higher
- Docker (optional, for containerized deployment)
Installation
Installing via Smithery
To install MCP Trino Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @alaturqua/mcp-trino-python --client claude
Running Trino Locally
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.
Usage with VS Code
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
mcpkey is not needed in the.vscode/mcp.jsonfile.
{
"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}"
}
}
}
}
}
Usage with Claude Desktop
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"
}
}
}
}
Configuration
Environment Variables
| 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 |
Tools
Query and Exploration Tools
show_catalogs
- List all available catalogs
- No parameters required
show_schemas
- List all schemas in a catalog
- Parameters:
catalog: Catalog name (string, required)
show_tables
- List all tables in a schema
- Parameters:
catalog: Catalog name (string, required)schema: Schema name (string, required)
describe_table
- Show detailed table structure and column information
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
execute_query
- Execute a SQL query and return formatted results
- Parameters:
query: SQL query to execute (string, required)
show_catalog_tree
- Show a hierarchical tree view of catalogs, schemas, and tables
- Returns a formatted tree structure with visual indicators
- No parameters required
show_create_table
- Show the CREATE TABLE statement for a table
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
show_create_view
- Show the CREATE VIEW statement for a view
- Parameters:
view: View name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
show_stats
- Show statistics for a table
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
Iceberg Table Maintenance
optimize
- Optimize an Iceberg table by compacting small files
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
optimize_manifests
- Optimize manifest files for an Iceberg table
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
expire_snapshots
- Remove old snapshots from an Iceberg table
- Parameters:
table: Table name (string, required)retention_threshold: Age threshold (e.g., "7d") (string, optional)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
Iceberg Metadata Inspection
show_table_properties
- Show Iceberg table properties
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
show_table_history
- Show Iceberg table history/changelog
- Contains snapshot timing, lineage, and ancestry information
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
show_metadata_log_entries
- Show Iceberg table metadata log entries
- Contains metadata file locations and sequence information
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
show_snapshots
- Show Iceberg table snapshots
- Contains snapshot details including operations and manifest files
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
show_manifests
- Show Iceberg table manifests for current or all snapshots
- Contains manifest file details and data file statistics
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)all_snapshots: Include all snapshots (boolean, optional)
show_partitions
- Show Iceberg table partitions
- Contains partition statistics and file counts
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
show_files
- Show Iceberg table data files in current snapshot
- Contains detailed file metadata and column statistics
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
show_entries
- Show Iceberg table manifest entries for current or all snapshots
- Contains entry status and detailed file metrics
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)all_snapshots: Include all snapshots (boolean, optional)
show_refs
- Show Iceberg table references (branches and tags)
- Contains reference configuration and snapshot mapping
- Parameters:
table: Table name (string, required)catalog: Catalog name (string, optional)schema: Schema name (string, optional)
Query History
- show_query_history
- Get the history of executed queries
- Parameters:
limit: Maximum number of queries to return (number, optional)
License
This project is licensed under the Apache 2.0 License. Please refer to the LICENSE file for the full terms.
Installing Trino Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/fastmcp-me/mcp-trino-pythonFAQ
Is Trino Server MCP free?
Yes, Trino Server MCP is free — one-click install via Unyly at no cost.
Does Trino Server need an API key?
No, Trino Server runs without API keys or environment variables.
Is Trino Server hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Trino Server in Claude Desktop, Claude Code or Cursor?
Open Trino Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Trino Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
