Trino MCP Server

Interaja de forma segura com bancos de dados Trino para listar tabelas, ler dados e executar consultas SQL.

Documentação

Servidor MCP Trino

Este repositório fornece um servidor MCP (Model-Control-Protocol) que permite listar e consultar tabelas via Trino usando Python.

Visão Geral

  • MCP: MCP é um protocolo para conectar modelos de IA, dados e ferramentas. Este servidor MCP de exemplo fornece:
    • Uma lista de tabelas Trino como recursos MCP
    • Capacidade de ler o conteúdo das tabelas através do MCP
    • Uma ferramenta para executar consultas SQL arbitrárias contra o Trino
  • Trino: Um mecanismo de consulta SQL rápido e distribuído para análise de big data. Este servidor utiliza o cliente Python do Trino (trino.dbapi) para conectar-se a um host, catálogo e schema do Trino.

Requisitos

  • Python 3.9+ (ou uma versão compatível com mcp, trino e asyncio)
  • trino (o driver Python para Trino)
  • mcp (a biblioteca Python do Model-Control-Protocol)

Configuração

O servidor lê os detalhes de conexão do Trino a partir de variáveis de ambiente:

VariávelDescriçãoPadrão
TRINO_HOSTHostname ou IP do servidor Trinolocalhost
TRINO_PORTPorta do servidor Trino8080
TRINO_USERNome de usuário do Trinoobrigatório
TRINO_PASSWORDSenha do Trino (opcional, depende da sua configuração de autenticação)(vazio)
TRINO_CATALOGCatálogo padrão a ser usado (ex.: hive, tpch, postgresql, etc.)obrigatório
TRINO_SCHEMASchema padrão a ser usado (ex.: default, public, etc.)obrigatório

Uso

{
  "mcpServers": {
    "trino": {
      "command": "uv",
      "args": [
        "--directory", 
        "<path_to_mcp_server_trino>",
        "run",
        "mcp_server_trino"
      ],
      "env": {
        "TRINO_HOST": "<host>",
        "TRINO_PORT": "<port>",
        "TRINO_USER": "<user>",
        "TRINO_PASSWORD": "<password>",
        "TRINO_CATALOG": "<catalog>",
        "TRINO_SCHEMA": "<schema>"
      }
    }
  }
}