
mcp-trino
tuannvmMIT
109 звёзд48 форков
MCP-сервер на Go для Trino — распределённого SQL-движка аналитики больших данных. Trino (бывший PrestoSQL) обрабатывает петабайты данных из разных источников: HDFS, реляционные базы, облачные хранилища. Этот сервер выступает мостом между AI-ассистентами и Trino через стандартный протокол MCP.
Зачем это нужно? Разработчик или аналитик общается с AI-ассистентом на естественном языке, а тот напрямую выполняет SQL-запросы, навигирует по каталогам, схемам и таблицам. AI ускоряет разведку данных, написание сложных запросов и составление отчётов.
Сервер написан на Go. Код компилируется в один бинарный файл — запуск за миллисекунды, не требует установки интерпретатора. Транспорт stdio делает сервер совместимым с любым MCP-клиентом: Claude Desktop, Cursor, VS Code, JetBrains. Исходный код открыт под лицензией MIT. Сборки заверяются подписью SLSA 3 и проходят сканирование Trivy.
Характеристики
Общее
- СтатусСообщество
- Разработчикtuannvm
- ЛицензияMIT
Технологии
- ЯзыкиGo
- Транспортstdio
Описание
Возможности
- Выполнение произвольных SQL-запросов (SELECT, INSERT, CREATE TABLE).
- Получение списка каталогов (catalogs) в кластере Trino.
- Просмотр схем (schemas) внутри каталога.
- Вывод таблиц (tables) для выбранной схемы.
- Описание колонок, типов и комментариев таблицы (DESCRIBE).
- Передача контекста подключения (каталог, схема) через конфигурацию клиента.
- Безопасное подключение с настройками через аргументы командной строки.
- Высокая скорость работы: реализация на Go минимизирует задержки.
Как подключить
1. Установка
Установите бинарный файл через Go:
go install github.com/tuannvm/mcp-trino@latest
Или через Docker:
docker pull ghcr.io/tuannvm/mcp-trino:latest
Также можно скачать готовую сборку из раздела Releases на GitHub. Выберите подходящую версию для вашей операционной системы.
2. Конфигурация для Claude Desktop
Добавьте сервер в файл claude_desktop_config.json:
{
"mcpServers": {
"trino": {
"command": "mcp-trino",
"args": [
"--trino-host", "localhost",
"--trino-port", "8080",
"--trino-user", "your_user",
"--trino-catalog", "tpch",
"--trino-schema", "sf1"
],
"env": {}
}
}
}
Замените параметры подключения на свои. При использовании Docker укажите полный путь к контейнеру в поле command: docker, а в args параметры запуска.
3. Перезапустите клиент
Закройте и снова откройте Claude Desktop. В интерфейсе появится иконка с инструментами MCP-сервера. Если сервер не запускается, проверьте логи — он сообщит о проблемах подключения к Trino.
Примеры запросов
- «Покажи все каталоги, доступные в Trino.» — сервер вызовет инструмент list_catalogs и вернёт список.
- «Какие схемы есть в каталоге tpch?» — ассистент покажет схемы sf1, sf100, information_schema.
- «Опиши структуру таблицы orders. Какие колонки и типы данных?» — команда DESCRIBE выполнится мгновенно.
- «Выполни SQL: вывести топ-10 регионов по количеству наций. Используй таблицы region и nation.» — ассистент сгенерирует запрос, выполнит его через сервер и покажет результат.
Технические детали
- Язык реализации: Go (статическая компиляция, без внешних зависимостей)
- Транспорт: stdio (подходит для локальной работы и встраивания в IDE)
- Лицензия: MIT (разрешено коммерческое использование)
- Безопасность: Сборки проверяются Trivy, уровень доверия SLSA 3
- Совместимость: Любой MCP-клиент (Claude Desktop, Cursor, VS Code, JetBrains)
- Требования: Работающий экземпляр Trino с сетевым доступом
- Разработчик: tuannvm (проект набрал 109 звёзд на GitHub)