Trino MCP Server

Trino MCP Server

site icon
2025.03.02 5
Python数据库中间件AI 数据访问数据库开发效率
Trino MCP Server 是一个为 Trino 分布式 SQL 查询引擎提供 AI 模型结构化访问的 Model Context Protocol 服务器。它通过 MCP 协议暴露 Trino 资源,使 AI 工具能够查询和分析 Trino 中的数据。该服务器支持 Docker 容器 API 和独立 Python API 服务器两种部署方式,并提供 STDIO 和 SSE 两种传输选项(目前 STDIO 传输更可靠)。
View on GitHub

Overview

基本能力

产品定位

Trino MCP Server 是一个连接 AI 模型与 Trino 分布式 SQL 查询引擎的中间件,旨在为 AI 工具提供结构化数据访问能力。

核心功能

  • 通过 MCP 协议暴露 Trino 资源
  • 支持 AI 工具查询和分析 Trino 数据
  • 提供两种传输选项(STDIO 和 SSE)
  • 支持 Docker 容器 API 和独立 Python API 服务器
  • 完善的 Trino 查询执行和结果处理

适用场景

  • AI 模型需要访问结构化数据进行分析
  • 需要将自然语言查询转换为 SQL 并执行的场景
  • 数据分析和可视化应用的开发
  • 数据库管理和查询工具的开发

工具列表

  1. llm_query_trino.py - 命令行工具,允许 LLM 直接查询 Trino
  2. llm_trino_api.py - 独立 Python API 服务器
  3. create_bullshit_data.py - 生成测试数据
  4. load_bullshit_data.py - 将测试数据加载到 Trino
  5. test_bullshit_query.py - 演示端到端 MCP 交互

常见问题解答

  1. API 返回 503 服务不可用:确保容器已使用最新代码重建
  2. SSE 传输崩溃:当前版本存在客户端断开连接时服务器崩溃的问题,建议使用 STDIO 传输
  3. 端口冲突:独立 API 默认使用 8008 端口,可修改配置避免冲突

使用教程

使用依赖

# 安装开发依赖
pip install -e ".[dev]"

安装教程

# 使用 docker-compose 启动服务器
docker-compose up -d

# 或者运行独立 API 服务器
python llm_trino_api.py

调试方式

# 测试 STDIO 传输(推荐)
python test_mcp_stdio.py

# 测试复杂查询
python load_bullshit_data.py
python test_bullshit_query.py

# 测试 LLM API
python test_llm_api.py

许可证

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