使用说明
项目简介
Trino MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它充当 LLM(大型语言模型)客户端和 Trino 分布式 SQL 查询引擎之间的桥梁。该服务器的主要目的是使 LLM 能够以标准化的方式访问和操作 Trino 中的数据,从而增强 LLM 在数据分析和处理方面的能力。
主要功能点
- 资源管理: 将 Trino 中的表以 MCP 资源的形式暴露给 LLM 客户端,客户端可以获取表列表。
- 数据访问: 允许 LLM 客户端读取 Trino 表中的数据内容,用于上下文学习或数据分析。
- SQL 工具: 提供执行任意 SQL 查询的工具,使 LLM 客户端能够直接与 Trino 交互,执行更复杂的数据操作。
安装步骤
- 环境准备: 确保已安装 Python 3.9 或更高版本。
- 安装依赖: 使用 pip 安装所需的 Python 包:
pip install trino mcp
服务器配置
MCP 客户端需要配置以下 JSON 格式信息来启动和连接 Trino MCP Server。请根据您的 Trino 环境修改以下配置:
{ "mcpServers": { "trino": { "command": "uv", "args": [ "--directory", "<path_to_mcp_server_trino>", "run", "mcp_server_trino" ], "env": { "TRINO_HOST": "<Trino服务器主机名或IP>", // 您的 Trino 服务器地址 "TRINO_PORT": "<Trino服务器端口>", // 您的 Trino 服务器端口,默认为 8080 "TRINO_USER": "<Trino用户名>", // 访问 Trino 的用户名,必填 "TRINO_PASSWORD": "<Trino密码>", // 访问 Trino 的密码,根据 Trino 的认证配置决定是否需要 "TRINO_CATALOG": "<Trino Catalog>", // 默认使用的 Trino Catalog,例如 hive, tpch, postgresql 等,必填 "TRINO_SCHEMA": "<Trino Schema>" // 默认使用的 Trino Schema,例如 default, public 等,必填 } } } }
配置参数说明:
- 'server name': 'trino',服务器名称,客户端用此名称引用。
- 'command': 'uv',启动命令,这里使用 'uv' (或 'python') 运行服务器。
- 'args': 启动参数,包括:
- '--directory <path_to_mcp_server_trino>': Trino MCP Server 仓库在您本地文件系统中的路径。请替换为实际路径。
- 'run': uv 的子命令,用于运行 Python 模块或脚本。
- 'mcp_server_trino': 要运行的 Python 模块名,对应仓库中的 'src/mcp_server_trino/init.py'。
- 'env': 环境变量,用于配置 Trino 连接信息:
- 'TRINO_HOST': Trino 服务器的主机名或 IP 地址。
- 'TRINO_PORT': Trino 服务器的端口号。
- 'TRINO_USER': 连接 Trino 服务器的用户名。
- 'TRINO_PASSWORD': 连接 Trino 服务器的密码(如果需要)。
- 'TRINO_CATALOG': 默认连接的 Trino Catalog 名称。
- 'TRINO_SCHEMA': 默认连接的 Trino Schema 名称。
注意:
- 请将 '<path_to_mcp_server_trino>' 替换为 'mcp-server-trino' 仓库在您本地文件系统中的实际路径。
- 请根据您的 Trino 服务器实际配置,填写 'TRINO_HOST'、'TRINO_PORT'、'TRINO_USER'、'TRINO_PASSWORD'、'TRINO_CATALOG' 和 'TRINO_SCHEMA' 环境变量。
- 确保 Trino 服务器可访问,并且提供的用户具有访问指定 Catalog 和 Schema 的权限。
基本使用方法
- 启动 Trino MCP Server。
- 在 MCP 客户端中配置上述 JSON 信息,连接到 'trino' 服务器。
- 使用 MCP 客户端的功能,例如:
- 列出 'trino' 服务器提供的资源(即 Trino 中的表)。
- 读取指定 'trino' 资源的的内容(即读取 Trino 表的数据)。
- 调用 'trino' 服务器提供的 'execute_sql' 工具,执行 SQL 查询。
通过以上步骤,LLM 客户端即可利用 Trino MCP Server 提供的功能,与 Trino 数据进行交互。
信息
分类
数据库与文件