Servidor MCP Trino
El servidor MCP Trino es un servidor de protocolo de contexto de modelo (MCP) que proporciona una integración perfecta con Trino e Iceberg, lo que permite capacidades avanzadas de exploración de datos, consultas y mantenimiento de tablas a través de una interfaz estándar.
Casos de uso
Exploración y análisis de datos interactivos en Trino
Mantenimiento y optimización automatizados de tablas Iceberg
Creación de herramientas impulsadas por IA que interactúan con las bases de datos de Trino
Ejecución y gestión de consultas SQL con formato de resultado adecuado
Related MCP server: Database MCP Server
Prerrequisitos
Un servidor Trino en ejecución (o Docker Compose para desarrollo local)
Python 3.11 o superior
Docker (opcional, para implementación en contenedores)
Instalación
Instalación mediante herrería
Para instalar MCP Trino Server para Claude Desktop automáticamente a través de Smithery :
Ejecución de Trino localmente
La forma más fácil de comenzar es utilizar la configuración de Docker Compose incluida para ejecutar Trino localmente:
Esto iniciará un servidor Trino en localhost:8080 . Ahora puede continuar con la configuración del servidor MCP.
Uso con VS Code
Para una instalación rápida, puede agregar la siguiente configuración a sus ajustes de VS Code. Para ello, presione Ctrl + Shift + P y escriba Preferences: Open User Settings (JSON) .
Opcionalmente, puede agregarlo a un archivo llamado .vscode/mcp.json en su espacio de trabajo. Esto le permitirá compartir la configuración con otros.
Tenga en cuenta que la clave
mcpno es necesaria en el archivo.vscode/mcp.json.
Uso con Claude Desktop
Agregue la siguiente configuración a la configuración de Claude Desktop:
Configuración
Variables de entorno
Variable | Descripción | Por defecto |
TRINO_HOST | Nombre de host del servidor Trino | host local |
TRINO_PORT | Puerto del servidor Trino | 8080 |
TRINO_USUARIO | Nombre de usuario de Trino | trino |
CATÁLOGO TRINO | Catálogo predeterminado | Ninguno |
ESQUEMA TRINO | Esquema predeterminado | Ninguno |
ESQUEMA TRINO_HTTP | Esquema HTTP (http/https) | http |
TRINO_CONTRASEÑA | Contraseña de Trino | Ninguno |
Herramientas
Herramientas de consulta y exploración
mostrar_catálogos
Listado de todos los catálogos disponibles
No se requieren parámetros
mostrar_esquemas
Enumerar todos los esquemas en un catálogo
Parámetros:
catalog: Nombre del catálogo (cadena, obligatorio)
mostrar_tablas
Enumerar todas las tablas de un esquema
Parámetros:
catalog: Nombre del catálogo (cadena, obligatorio)schema: nombre del esquema (cadena, obligatorio)
describe_tabla
Mostrar la estructura detallada de la tabla y la información de las columnas
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
ejecutar_consulta
Ejecutar una consulta SQL y devolver resultados formateados
Parámetros:
query: consulta SQL a ejecutar (cadena, obligatoria)
mostrar_árbol_del_catálogo
Mostrar una vista de árbol jerárquica de catálogos, esquemas y tablas
Devuelve una estructura de árbol formateada con indicadores visuales
No se requieren parámetros
mostrar_crear_tabla
Mostrar la declaración CREATE TABLE para una tabla
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
mostrar_crear_vista
Mostrar la declaración CREATE VIEW para una vista
Parámetros:
view: Nombre de la vista (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
mostrar_estadísticas
Mostrar estadísticas de una tabla
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
Mantenimiento de la tabla Iceberg
optimizar
Optimice una tabla Iceberg compactando archivos pequeños
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
optimizar_manifiestos
Optimizar archivos de manifiesto para una tabla Iceberg
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
instantáneas de caducidad
Eliminar instantáneas antiguas de una tabla Iceberg
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)retention_threshold: Umbral de edad (p. ej., "7d") (cadena, opcional)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
Inspección de metadatos de Iceberg
mostrar_propiedades_de_tabla
Mostrar las propiedades de la tabla Iceberg
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
mostrar_historial_de_tablas
Mostrar el historial/registro de cambios de la tabla Iceberg
Contiene información de instantáneas sobre el tiempo, el linaje y la ascendencia.
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
mostrar_entradas_del_registro_de_metadatos
Mostrar las entradas del registro de metadatos de la tabla Iceberg
Contiene ubicaciones de archivos de metadatos e información de secuencia.
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
mostrar_instantáneas
Mostrar instantáneas de la tabla Iceberg
Contiene detalles de instantáneas, incluidas operaciones y archivos de manifiesto.
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
mostrar_manifiestos
Mostrar los manifiestos de la tabla Iceberg para las instantáneas actuales o todas
Contiene detalles del archivo de manifiesto y estadísticas del archivo de datos.
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)all_snapshots: incluye todas las instantáneas (booleano, opcional)
mostrar_particiones
Mostrar particiones de la tabla Iceberg
Contiene estadísticas de particiones y recuentos de archivos.
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
mostrar_archivos
Mostrar los archivos de datos de la tabla Iceberg en la instantánea actual
Contiene metadatos de archivos detallados y estadísticas de columnas.
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
mostrar_entradas
Mostrar las entradas del manifiesto de la tabla Iceberg para las instantáneas actuales o todas
Contiene el estado de la entrada y métricas detalladas del archivo.
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)all_snapshots: incluye todas las instantáneas (booleano, opcional)
mostrar_referencias
Mostrar referencias de la tabla Iceberg (ramas y etiquetas)
Contiene configuración de referencia y mapeo de instantáneas
Parámetros:
table: Nombre de la tabla (cadena, obligatoria)catalog: Nombre del catálogo (cadena, opcional)schema: nombre del esquema (cadena, opcional)
Historial de consultas
mostrar_historial_de_consultas
Obtener el historial de consultas ejecutadas
Parámetros:
limit: Número máximo de consultas a devolver (número, opcional)
Licencia
Este proyecto está licenciado bajo la licencia Apache 2.0. Consulte el archivo de LICENCIA para conocer los términos completos.