项目简介
Trino MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,专为 Trino 分布式 SQL 查询引擎设计。它允许 AI 助手等 MCP 客户端通过标准化的工具集,安全、便捷地访问和操作 Trino 中的数据,实现自然语言驱动的数据分析和应用集成。
主要功能点
- SQL 查询执行: 通过 'execute_query' 工具,执行 Trino SQL 查询,支持复杂的分析操作。
- 数据库结构发现: 提供 'list_catalogs', 'list_schemas', 'list_tables' 和 'get_table_schema' 等工具,帮助 LLM 客户端浏览和理解 Trino 数据库的结构,包括 Catalog(目录)、Schema(模式)、Table(表)以及表的字段信息。
- 标准化 MCP 协议: 遵循 MCP 协议标准,易于集成到各种支持 MCP 协议的 LLM 客户端。
- 多种传输协议支持: 同时支持 STDIO 和 HTTP 两种传输方式,灵活适应不同的部署环境。
- 配置灵活: 通过环境变量配置 Trino 连接参数,方便快捷地连接到不同的 Trino 集群。
- Docker 容器化部署: 提供 Docker 镜像,简化部署流程,方便在容器化环境中运行。
安装步骤
本服务器支持多种安装方式:
1. 使用 Homebrew (macOS 和 Linux 推荐)
如果你的系统安装了 Homebrew,可以使用以下命令快速安装:
brew tap tuannvm/mcp brew install mcp-trino
2. 手动下载安装
访问 GitHub Releases 页面,下载对应你操作系统的预编译版本。下载后,将可执行文件 'mcp-trino' 放置到你的 PATH 环境变量包含的目录下(例如 '/usr/local/bin' 或 'C:\Windows\System32'),并赋予执行权限(Linux/macOS: 'chmod +x mcp-trino')。
3. 从源代码编译
如果需要从源代码编译,请确保你的系统安装了 Go 语言环境。执行以下步骤:
git clone https://github.com/tuannvm/mcp-trino.git cd mcp-trino make build
编译成功后,可执行文件 'mcp-trino' 将位于 './bin/' 目录下。
服务器配置
MCP 服务器需要配置 Trino 数据库的连接信息才能正常工作。对于 MCP 客户端,需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 以建立连接。以下是在 MCP 客户端中配置 Trino MCP Server 的 JSON 示例:
{ "mcpServers": { "mcp-trino": { "command": "mcp-trino", "args": [], "env": { "TRINO_HOST": "<Trino服务器地址>", "TRINO_PORT": "<Trino服务器端口>", "TRINO_USER": "<Trino用户名>", "TRINO_PASSWORD": "<Trino密码>" } } } }
配置参数说明:
- '"mcpServers"': 固定字段,表示 MCP 服务器配置。
- '"mcp-trino"': 服务器名称,可以自定义,用于在客户端中标识该服务器。
- '"command": "mcp-trino"': 启动 MCP 服务器的命令,通常为 'mcp-trino' (假设 'mcp-trino' 可执行文件已在 PATH 环境变量中)。
- '"args": []': 启动参数,本服务器无需额外的启动参数,留空即可。
- '"env"': 环境变量配置,用于配置 Trino 数据库连接信息:
- '"TRINO_HOST": "<Trino服务器地址>"': Trino 服务器的主机名或 IP 地址。请替换为你的 Trino 服务器地址。
- '"TRINO_PORT": "<Trino服务器端口>"': Trino 服务器的端口号,默认为 '8080'。请替换为你的 Trino 服务器端口。
- '"TRINO_USER": "<Trino用户名>"': 连接 Trino 数据库的用户名。请替换为你的 Trino 用户名。
- '"TRINO_PASSWORD": "<Trino密码>"': 连接 Trino 数据库的密码。请替换为你的 Trino 密码。
Docker 镜像配置:
如果使用 Docker 镜像运行 Trino MCP Server,客户端配置的 JSON 示例如下:
{ "mcpServers": { "mcp-trino": { "command": "docker", "args": ["run", "--rm", "-i", "-e", "TRINO_HOST=<Trino服务器地址>", "-e", "TRINO_PORT=<Trino服务器端口>", "-e", "TRINO_USER=<Trino用户名>", "-e", "TRINO_PASSWORD=<Trino密码>", "-e", "TRINO_SCHEME=http", "ghcr.io/tuannvm/mcp-trino:latest"], "env": {} } } }
Docker 镜像配置与本地执行方式类似,主要区别在于 'command' 和 'args' 部分,用于指示客户端通过 Docker 运行服务器。环境变量配置方式相同,用于配置 Trino 连接信息。
注意: 请根据你的 Trino 服务器实际情况,替换 '<Trino服务器地址>', '<Trino服务器端口>', '<Trino用户名>', '<Trino密码>' 为正确的值。 如果你的 Trino 服务器使用 HTTP 协议,请确保设置 '"TRINO_SCHEME": "http"'。
基本使用方法
- 启动 Trino MCP Server: 根据你的安装方式,启动 'mcp-trino' 服务器。如果使用 Docker,请参考 README.md 中的 Docker 运行命令。
- 配置 MCP 客户端: 在支持 MCP 协议的 LLM 客户端(如 Cursor, Claude Desktop, Windsurf, ChatWise)中,根据客户端的工具配置界面,导入或手动填写上述 JSON 配置信息,添加 'mcp-trino' 服务器。
- 使用 MCP 工具: 在客户端中,通常会提供一个工具菜单或入口,点击后可以看到 Trino MCP Server 提供的工具列表,例如 'execute_query', 'list_catalogs' 等。
- 调用工具: 根据你的需求,选择相应的工具,并按照工具的参数说明,填写必要的参数(例如,执行 SQL 查询时,需要填写 'query' 参数)。然后执行工具,即可与 Trino 数据库进行交互。
- 查看结果: 工具执行完成后,结果会显示在客户端界面中,通常以 JSON 或文本格式呈现。
通过以上步骤,你就可以在 LLM 客户端中使用 Trino MCP Server 提供的工具,实现与 Trino 数据库的便捷交互,进行数据查询和分析。
信息
分类
数据库与文件