Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Mcp Trino

    A high-performance Model Context Protocol (MCP) server for Trino implemented in Go.

    78 stars
    Go
    Updated Nov 3, 2025
    mcp
    mcp-server
    trino

    Table of Contents

    • Overview
    • Architecture
    • Features
    • Installation & Quick Start
    • Usage
    • Configuration
    • OAuth Implementation
    • Contributing
    • License
    • Related Projects
    • CI/CD and Releases
    • Continuous Integration Checks
    • Code Quality
    • Security
    • Testing
    • CI/CD Security
    • Release Process

    Table of Contents

    • Overview
    • Architecture
    • Features
    • Installation & Quick Start
    • Usage
    • Configuration
    • OAuth Implementation
    • Contributing
    • License
    • Related Projects
    • CI/CD and Releases
    • Continuous Integration Checks
    • Code Quality
    • Security
    • Testing
    • CI/CD Security
    • Release Process

    Documentation

    Trino MCP Server in Go

    A high-performance Model Context Protocol (MCP) server for Trino implemented in Go. This project enables AI assistants to seamlessly interact with Trino's distributed SQL query engine through standardized MCP tools.

    GitHub Workflow Status

    Go Version

    Trivy Scan

    SLSA 3

    Go Report Card

    Go Reference

    Docker Image

    GitHub Release

    License: MIT

    Trust Score

    Overview

    This project implements a Model Context Protocol (MCP) server for Trino in Go. It enables AI assistants to access Trino's distributed SQL query engine through standardized MCP tools.

    Trino (formerly PrestoSQL) is a powerful distributed SQL query engine designed for fast analytics on large datasets.

    Architecture

    mermaid
    graph TB
        subgraph "AI Clients"
            CC[Claude Code]
            CD[Claude Desktop]
            CR[Cursor]
            WS[Windsurf]
            CW[ChatWise]
        end
        
        subgraph "Authentication (Optional)"
            OP[OAuth ProviderOkta/Google/Azure AD]
            JWT[JWT Tokens]
        end
        
        subgraph "MCP Server (mcp-trino)"
            HTTP[HTTP Transport/mcp endpoint]
            STDIO[STDIO Transport]
            AUTH[OAuth Middleware]
            TOOLS[MCP Tools• execute_query• list_catalogs• list_schemas• list_tables• get_table_schema• explain_query]
        end
        
        subgraph "Data Layer"
            TRINO[Trino ClusterDistributed SQL Engine]
            CATALOGS[Data Sources• PostgreSQL• MySQL• S3/Hive• BigQuery• MongoDB]
        end
        
        %% Connections
        CC -.->|OAuth Flow| OP
        OP -.->|JWT Token| JWT
        
        CC -->|HTTP + JWT| HTTP
        CD -->|STDIO| STDIO
        CR -->|HTTP + JWT| HTTP
        WS -->|STDIO| STDIO
        CW -->|HTTP + JWT| HTTP
        
        HTTP --> AUTH
        AUTH -->|Validated| TOOLS
        STDIO --> TOOLS
        
        TOOLS -->|SQL Queries| TRINO
        TRINO --> CATALOGS
        
        %% Styling
        classDef client fill:#e1f5fe
        classDef auth fill:#f3e5f5
        classDef server fill:#e8f5e8
        classDef data fill:#fff3e0
        
        class CC,CD,CR,WS,CW client
        class OP,JWT auth
        class HTTP,STDIO,AUTH,TOOLS server
        class TRINO,CATALOGS data

    Key Components:

    • AI Clients: Various MCP-compatible applications
    • Authentication: Optional OAuth 2.0 with OIDC providers
    • MCP Server: Go-based server with dual transport support
    • Data Layer: Trino cluster connecting to multiple data sources

    Features

    • ✅ MCP server implementation in Go
    • ✅ Trino SQL query execution through MCP tools
    • ✅ Catalog, schema, and table discovery
    • ✅ Docker container support
    • ✅ Supports both STDIO and HTTP transports
    • ✅ OAuth 2.1 authentication via oauth-mcp-proxy library
    • 4 Providers: HMAC, Okta, Google, Azure AD
    • Native mode: Client handles OAuth directly (zero server-side secrets)
    • Proxy mode: Server proxies OAuth flow for simple clients
    • Production-ready: Token caching, PKCE, defense-in-depth security
    • Reusable: OAuth library available for any Go MCP server
    • ✅ StreamableHTTP support with JWT authentication (upgraded from SSE)
    • ✅ Backward compatibility with SSE endpoints
    • ✅ Compatible with Cursor, Claude Desktop, Windsurf, ChatWise, and any MCP-compatible clients.
    • ✅ User Identity Tracking:
    • Query Attribution (automatic): Tags queries with OAuth user via X-Trino-Client-Tags/Info headers
    • User Impersonation (opt-in): Execute queries as OAuth user via X-Trino-User header

    Installation & Quick Start

    Install:

    bash
    # Homebrew
    brew install tuannvm/mcp/mcp-trino
    
    # Or one-liner (macOS/Linux)
    curl -fsSL https://raw.githubusercontent.com/tuannvm/mcp-trino/main/install.sh | bash

    Run (Local Development):

    bash
    export TRINO_HOST=localhost TRINO_USER=trino
    mcp-trino

    For production deployment with OAuth, see Deployment Guide and OAuth Architecture.

    Usage

    Supported Clients: Claude Desktop, Claude Code, Cursor, Windsurf, ChatWise

    Available Tools: execute_query, list_catalogs, list_schemas, list_tables, get_table_schema, explain_query

    For client integration and tool documentation, see Integration Guide and Tools Reference.

    Configuration

    Key Variables: TRINO_HOST, TRINO_USER, TRINO_SCHEME, MCP_TRANSPORT, OAUTH_PROVIDER

    OAuth Configuration:

    bash
    # Native mode (most secure - zero server-side secrets)
    export OAUTH_ENABLED=true OAUTH_MODE=native OAUTH_PROVIDER=okta
    export OIDC_ISSUER=https://company.okta.com OIDC_AUDIENCE=https://mcp-server.com
    
    # Proxy mode (centralized credential management)
    export OAUTH_MODE=proxy OIDC_CLIENT_ID=app-id OIDC_CLIENT_SECRET=secret
    export OAUTH_REDIRECT_URI=https://mcp-server.com/oauth/callback  # Fixed mode (localhost-only)
    export OAUTH_REDIRECT_URI=https://app1.com/cb,https://app2.com/cb  # Allowlist mode
    export JWT_SECRET=$(openssl rand -hex 32)  # Required for multi-pod deployments

    Performance Optimization:

    bash
    # Focus AI on specific schemas only (10-20x performance improvement)
    export TRINO_ALLOWED_SCHEMAS="hive.analytics,hive.marts,hive.reporting"

    User Identity Tracking:

    bash
    # Query Attribution is AUTOMATIC when OAuth is enabled
    # Queries are tagged with X-Trino-Client-Tags and X-Trino-Client-Info headers
    
    # For full impersonation (Trino enforces user permissions):
    export TRINO_ENABLE_IMPERSONATION=true
    export TRINO_IMPERSONATION_FIELD=email  # Options: username, email, subject

    For complete configuration, see Deployment Guide, OAuth Guide, Allowlists Guide, and User Identity Guide.

    OAuth Implementation

    mcp-trino uses oauth-mcp-proxy - a standalone OAuth 2.1 library for Go MCP servers.

    Why a separate library?

    • ✅ Reusable across any Go MCP server
    • ✅ Independent testing and versioning
    • ✅ Dedicated documentation and examples
    • ✅ Community-maintained OAuth implementation

    For OAuth details:

    • oauth-mcp-proxy Documentation - Complete OAuth guide
    • Provider Setup Guides - Okta, Google, Azure AD
    • Security Best Practices - Production security

    Contributing

    Contributions are welcome! Please feel free to submit a Pull Request.

    License

    This project is licensed under the MIT License - see the LICENSE file for details.

    Related Projects

    • **oauth-mcp-proxy** - OAuth 2.1 authentication library used by mcp-trino (reusable for any Go MCP server)

    CI/CD and Releases

    This project uses GitHub Actions for continuous integration and GoReleaser for automated releases.

    Continuous Integration Checks

    Our CI pipeline performs the following checks on all PRs and commits to the main branch:

    Code Quality

    • Linting: Using golangci-lint to check for common code issues and style violations
    • Go Module Verification: Ensuring go.mod and go.sum are properly maintained
    • Formatting: Verifying code is properly formatted with gofmt

    Security

    • Vulnerability Scanning: Using govulncheck to check for known vulnerabilities in dependencies
    • Dependency Scanning: Using Trivy to scan for vulnerabilities in dependencies (CRITICAL, HIGH, and MEDIUM)
    • SBOM Generation: Creating a Software Bill of Materials for dependency tracking
    • SLSA Provenance: Creating verifiable build provenance for supply chain security

    Testing

    • Unit Tests: Running tests with race detection and code coverage reporting
    • Build Verification: Ensuring the codebase builds successfully

    CI/CD Security

    • Least Privilege: Workflows run with minimum required permissions
    • Pinned Versions: All GitHub Actions use specific versions to prevent supply chain attacks
    • Dependency Updates: Automated dependency updates via Dependabot

    Release Process

    When changes are merged to the main branch:

    1. CI checks are run to validate code quality and security

    2. If successful, a new release is automatically created with:

    • Semantic versioning based on commit messages
    • Binary builds for multiple platforms
    • Docker image publishing to GitHub Container Registry
    • SBOM and provenance attestation

    Similar MCP

    Based on tags & features

    • MC

      Mcp K8s

      Go·
      128
    • MC

      Mcpjungle

      Go·
      617
    • MC

      Mcp Cyclops

      Go·
      29
    • AN

      Anyquery

      Go·
      1.4k

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • MC

      Mcp K8s

      Go·
      128
    • MC

      Mcpjungle

      Go·
      617
    • MC

      Mcp Cyclops

      Go·
      29
    • AN

      Anyquery

      Go·
      1.4k

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k