使用说明

项目简介

Trino MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它充当 LLM(大型语言模型)客户端和 Trino 分布式 SQL 查询引擎之间的桥梁。该服务器的主要目的是使 LLM 能够以标准化的方式访问和操作 Trino 中的数据,从而增强 LLM 在数据分析和处理方面的能力。

主要功能点

  • 资源管理: 将 Trino 中的表以 MCP 资源的形式暴露给 LLM 客户端,客户端可以获取表列表。
  • 数据访问: 允许 LLM 客户端读取 Trino 表中的数据内容,用于上下文学习或数据分析。
  • SQL 工具: 提供执行任意 SQL 查询的工具,使 LLM 客户端能够直接与 Trino 交互,执行更复杂的数据操作。

安装步骤

  1. 环境准备: 确保已安装 Python 3.9 或更高版本。
  2. 安装依赖: 使用 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 的权限。

基本使用方法

  1. 启动 Trino MCP Server。
  2. 在 MCP 客户端中配置上述 JSON 信息,连接到 'trino' 服务器。
  3. 使用 MCP 客户端的功能,例如:
    • 列出 'trino' 服务器提供的资源(即 Trino 中的表)。
    • 读取指定 'trino' 资源的的内容(即读取 Trino 表的数据)。
    • 调用 'trino' 服务器提供的 'execute_sql' 工具,执行 SQL 查询。

通过以上步骤,LLM 客户端即可利用 Trino MCP Server 提供的功能,与 Trino 数据进行交互。

信息

分类

数据库与文件