MCP Trino Server

MCP Trino Server

site icon
2025.04.13 13
Python数据查询数据库管理Trino 集成Iceberg 表维护数据库
MCP Trino Server 是一个基于 Model Context Protocol (MCP) 的服务,提供与 Trino 和 Iceberg 的无缝集成,通过标准接口实现高级数据探索、查询和表维护功能。
View on GitHub

Overview

基本能力

产品定位

MCP Trino Server 是一个数据查询和管理工具,专注于与 Trino 和 Iceberg 的集成,提供数据探索和表维护功能。

核心功能

  1. 数据查询与探索:支持执行 SQL 查询并返回格式化结果,提供表结构和统计信息的查看功能。
  2. Iceberg 表维护:支持表的优化、清单文件优化和快照清理等功能。
  3. 目录和模式导航:提供对 Trino 数据库的目录、模式和表的层次化浏览功能。
  4. 查询历史:记录和查看已执行的查询历史。

适用场景

  1. 交互式数据探索和分析。
  2. 自动化 Iceberg 表维护和优化。
  3. 构建与 Trino 数据库交互的 AI 工具。
  4. 执行和管理 SQL 查询。

工具列表

  1. execute_query:执行 SQL 查询并返回结果。
  2. show_catalog_tree:显示目录、模式和表的层次结构。
  3. show_create_table:显示表的创建语句。
  4. show_create_view:显示视图的创建语句。
  5. show_stats:显示表的统计信息。
  6. optimize:优化 Iceberg 表。
  7. optimize_manifests:优化 Iceberg 表的清单文件。
  8. expire_snapshots:清理 Iceberg 表的旧快照。
  9. show_query_history:查看查询历史。

常见问题解答

  1. 如何配置 Trino 服务器:通过环境变量配置 Trino 的主机、端口、用户等信息。
  2. 如何运行本地 Trino:使用 Docker Compose 启动本地 Trino 服务器。
  3. 如何集成到 VS Code:通过 JSON 配置文件添加 MCP 服务器设置。

使用教程

使用依赖

  1. 运行中的 Trino 服务器(或本地开发的 Docker Compose)。
  2. Python 3.11 或更高版本。
  3. Docker(可选,用于容器化部署)。

安装教程

本地运行 Trino

docker-compose up -d

VS Code 集成

在 VS Code 的用户设置或工作区的 .vscode/mcp.json 文件中添加以下配置:

{
  "mcp": {
    "servers": {
      "trino": {
        "command": "docker",
        "args": ["run", "--rm", "ghcr.io/alaturqua/mcp-trino-python:latest"],
        "env": {
          "TRINO_HOST": "${input:trino_host}",
          "TRINO_PORT": "${input:trino_port}",
          "TRINO_USER": "${input:trino_user}"
        }
      }
    }
  }
}

Claude Desktop 集成

在 Claude Desktop 的设置中添加以下配置:

{
  "mcpServers": {
    "trino": {
      "command": "python",
      "args": ["server.py"],
      "env": {
        "TRINO_HOST": "your-trino-host",
        "TRINO_PORT": "8080",
        "TRINO_USER": "trino"
      }
    }
  }
}

调试方式

  1. 确保 Trino 服务器正常运行。
  2. 检查环境变量配置是否正确。
  3. 使用 execute_query 工具测试查询功能。
  4. 使用 show_catalog_tree 工具测试目录浏览功能。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。