Labsco
alaturqua logo

MCP Trino Server

โ˜… 25

from alaturqua

Integrates with Trino and Iceberg for advanced data exploration, querying, and table maintenance.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

MseeP.ai Security Assessment Badge

MCP Trino Server

smithery badge Python 3.12+ 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

Transport Modes

The server supports three transport modes:

TransportDescriptionUse Case
stdioStandard I/O (default)VS Code, Claude Desktop, local MCP clients
streamable-httpHTTP with streamingRemote access, web clients, Docker
sseServer-Sent EventsLegacy HTTP transport

Running with Different Transports

# stdio (default) - for VS Code and Claude Desktop
python src/server.py

# Streamable HTTP - for remote/web access
python src/server.py --transport streamable-http --host 0.0.0.0 --port 8000

# SSE - legacy HTTP transport
python src/server.py --transport sse --host 0.0.0.0 --port 8000

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)