Trino MCP Server in Go

Trino MCP Server in Go

site icon
2025.04.17 12
Go数据库连接SQL查询数据分析数据库开发效率
mcp-trino 是一个高性能的 Model Context Protocol (MCP) 服务器,专为 Trino 分布式 SQL 查询引擎设计,使用 Go 语言实现。它允许 AI 助手通过标准化的 MCP 工具与 Trino 进行无缝交互,支持多种客户端和传输协议。
View on GitHub

Overview

产品定位

mcp-trino 是一个连接 AI 助手与 Trino 分布式 SQL 查询引擎的桥梁,通过标准化的 MCP 协议提供高效的数据查询和探索能力。

核心功能

  • MCP 服务器实现(Go 语言)
  • 通过 MCP 工具执行 Trino SQL 查询
  • 目录、模式和表发现功能
  • Docker 容器支持
  • 支持 STDIO 和 HTTP 传输
  • 支持 Server-Sent Events (SSE) 用于 Cursor 和其他 MCP 客户端
  • 兼容 Cursor、Claude Desktop、Windsurf、ChatWise 等 MCP 兼容客户端

适用场景

  • AI 助手与 Trino 数据库的交互
  • 分布式 SQL 查询的自动化执行
  • 数据目录和结构的探索
  • 大数据分析和查询

工具列表

execute_query

执行 Trino SQL 查询,支持复杂分析查询。

list_catalogs

列出 Trino 服务器中所有可用的目录。

list_schemas

列出指定目录中的所有模式。

list_tables

列出指定模式中的所有表。

get_table_schema

获取表的结构信息,包括列名、数据类型等。

常见问题解答

  • 默认连接模式:HTTPS。如需使用 HTTP,需设置 TRINO_SCHEME=http
  • 安全限制:默认只允许只读查询,如需执行写操作需设置 TRINO_ALLOW_WRITE_QUERIES=true
  • Cursor 集成:使用 HTTP 传输时,需设置 MCP_TRANSPORT=http 并连接到 /sse 端点。

使用教程

使用依赖

无特殊前置依赖,直接安装即可。

安装教程

Homebrew (macOS 和 Linux)

# 添加 tap 仓库
brew tap tuannvm/mcp

# 安装 mcp-trino
brew install mcp-trino

更新到最新版本:

brew update && brew upgrade mcp-trino

手动下载

  1. GitHub Releases 下载适合您平台的二进制文件。
  2. 将二进制文件放在 PATH 包含的目录中(如 Linux/macOS 的 /usr/local/bin)。
  3. 使其可执行(Linux/macOS 上运行 chmod +x mcp-trino)。

从源码安装

git clone https://github.com/tuannvm/mcp-trino.git
cd mcp-trino
make build
# 二进制文件将在 ./bin/ 目录中

调试方式

启动服务器进行调试:

MCP_TRANSPORT=http TRINO_HOST=<HOST> TRINO_PORT=<PORT> TRINO_USER=<USERNAME> TRINO_PASSWORD=<PASSWORD> mcp-trino

检查服务器是否正常运行:

curl http://localhost:9097/sse

许可证

该项目遵循 MIT 开源许可条款。