mcp-trino

使用说明

  • 项目简介

    • mcp-trino 是一个完整的 MCP 服务器实现,围绕 Trino 数据仓库构建,向 LLM 客户端提供统一的上下文信息、数据访问工具和提示模板。通过 MCP 协议进行 JSON-RPC 请求/响应,支持会话管理、能力声明以及多种传输方式(如标准输入输出、服务器推送、WebSocket 等)。
    • 主要功能包括:托管和管理数据资源(如数据表、列、元数据等)、注册和执行工具(如 Trino 查询、解释计划、描述表等)、定义/渲染 Prompts 与提示模板、以及可选的语义层(DataHub/静态元数据等)以丰富上下文。
  • 主要功能点

    • MCP 服务器核心 kemampuan:按 JSON-RPC 风格接收请求(读取资源、调用工具、获取 Prompts 等)并返回规范化的响应。
    • 资源与元数据:提供对 Trino 连接、表、列、模式、元数据描述等资源的访问能力,支持语义数据扩展。
    • 工具注册与执行:内置工具集(如 trino_query、trino_execute、trino_explain、trino_browse、trino_describe_table、trino_list_connections),并允许中间件、拦截器与结果变换器参与执行流程。
    • Prompt/模板渲染:支持基于资源与语义信息的 Prompt 渲染与渲染后处理。
    • 多集群与连接管理:可配置多 Trino 服务器并在单一 MCP 服务中对外暴露统一接口(多集群查询能力)。
    • 安全与合规性:默认只读模式、查询限流、超时控制,以及可选的 SLA/TLS 配置与 Swag 的安全扩展。
    • 传输协议扩展:官方实现中提到 Stdio、SSE、WebSocket 等传输方案,方便不同客户端接入。
    • 语义层与缓存:可接入 DataHub 等语义提供者,提供表/列的描述、所有权、标记、Glossary、质量、依赖等上下文,并支持缓存以提升性能。
  • 安装与运行

    • 该服务器以 Go 语言实现,可直接编译运行,或通过 Docker 镜像运行,结合现有 Trino 实例即可使用。
    • 服务器默认提供通过 Claude Desktop 等客户端接入的示例配置与使用说明。可通过环境变量/配置文件定制 Trino 连接、工具选项、日志及扩展行为。
  • 服务器配置

    • MCP 客户端需要的配置信息(JSON,描述服务器信息与启动方式)示例要点:
      • server_name:服务器的名称标识,用于在客户端端区分不同 MCP 服务器实例。
      • command:启动 MCP 服务器的可执行路径或命令名。
      • args:启动命令的参数列表(如需要传递的选项)。
    • 下面给出符合说明的配置信息示例描述(以文本形式呈现,便于理解,不包含具体代码):
      • 服务器名称:default
      • 启动命令:mcp-trino(实际环境中请替换为完整路径,如 /usr/local/bin/mcp-trino)
      • 启动参数:空(默认直接启动,若有特殊传输或日志需要可添加参数)
    • 配置要点:
      • MCP 客户端只需知道如何启动服务器及连接信息,客户端本身不需要变更服务器实现的逻辑。
      • 具体运行时的传输协议(如 stdio、SSE、WebSocket 等)在服务器端实现中已经支持或计划支持,客户端应使用 MCP 统一的传输接口进行通信。
  • 基本使用方法

    • 启动服务器
      • 在有 Trino 可用的环境中,执行 MCP 服务器二进制(如 mcp-trino)以提供 MCP 服务。
    • 连接与交互
      • MCP 客户端(如 Claude Desktop、自定义前端等)通过 JSON-RPC 发送请求,例如读取资源、执行工具、获取 Prompts 等,服务器返回标准化的 JSON-RPC 响应或通知。
    • 常用场景
      • 通过 trino_query/trino_describe_table 等工具读取数据、获取元数据、解析执行计划等上下文信息;
      • 使用语义扩展以获得描述、所有权、标签、 Glossary、数据质量等上下文以提升 LLM 的推理质量;
      • 使用多集群能力对多个 Trino 集群进行统一查询与上下文管理。
  • 运行与扩展要点

    • 可通过环境变量、YAML/JSON 配置来控制 Trino 连接信息、工具执行策略、只读模式、日志和监控等;
    • 支持将语义提供者(如 DataHub、静态文件等)接入,以丰富返回的 TableContext/ColumnContext 等;
    • 提供中间件、拦截器、变换器等扩展点,方便实现认证、审计、限流、结果美化等能力。
  1. 关键词 数据平台, Trino, 语义上下文, 元数据, 数据查询

  2. 分类ID 6

服务器信息