Trino MCP Server

Interactúa de forma segura con bases de datos Trino para listar tablas, leer datos y ejecutar consultas SQL.

Documentación

Trino MCP Server

Este repositorio proporciona un servidor MCP (Model-Control-Protocol) que le permite listar y consultar tablas a través de Trino usando Python.

Descripción general

  • MCP: MCP es un protocolo para conectar modelos de IA, datos y herramientas. Este servidor MCP de ejemplo proporciona:
    • Una lista de tablas de Trino como recursos MCP
    • Capacidad de leer el contenido de las tablas a través de MCP
    • Una herramienta para ejecutar consultas SQL arbitrarias contra Trino
  • Trino: Un motor de consultas SQL rápido y distribuido para análisis de big data. Este servidor utiliza el cliente Python de Trino (trino.dbapi) para conectarse a un host, catálogo y esquema de Trino.

Requisitos

  • Python 3.9+ (o una versión compatible con mcp, trino y asyncio)
  • trino (el controlador Python para Trino)
  • mcp (la biblioteca Python de Model-Control-Protocol)

Configuración

El servidor lee los detalles de conexión de Trino desde variables de entorno:

VariableDescripciónPredeterminado
TRINO_HOSTNombre de host o IP del servidor Trinolocalhost
TRINO_PORTPuerto del servidor Trino8080
TRINO_USERNombre de usuario de Trinoobligatorio
TRINO_PASSWORDContraseña de Trino (opcional, depende de su configuración de autenticación)(vacío)
TRINO_CATALOGCatálogo predeterminado a usar (p. ej., hive, tpch, postgresql, etc.)obligatorio
TRINO_SCHEMAEsquema predeterminado a usar (p. ej., default, public, etc.)obligatorio

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>"
      }
    }
  }
}