用途
mcp-trino 是一个用 Go 编写的 Model Context Protocol(MCP)服务器,面向 Trino(原 PrestoSQL)分布式 SQL 查询引擎。它让各类兼容 MCP 的 AI 客户端能够通过标准化 MCP 工具访问 Trino,从而对大型数据集进行快速分析查询。
主要能力
- 双模式:既可作为 MCP 服务器使用,也可作为交互式 CLI 使用。CLI 模式提供类似 psql 的交互式 SQL shell,可直接访问 Trino;MCP 模式则提供完整的 MCP 服务器功能,供 AI 助手集成。
- 通过 MCP 工具执行 Trino SQL 查询。
- catalog、schema 和 table 的发现能力。
- 支持 STDIO 和 HTTP 两种传输方式。
- 支持 StreamableHTTP 与 JWT 认证(由 SSE 升级而来),同时向后兼容 SSE 端点。
- 可选 OAuth 2.1 认证(基于 oauth-mcp-proxy 库),支持 HMAC、Okta、Google、Azure AD 四种提供方;支持 Native 模式(客户端直接处理 OAuth,服务端零密钥)与 Proxy 模式(服务端代理 OAuth 流程)。
- 用户身份跟踪:自动查询归属(通过 X-Trino-Client-Tags/Info 头标记 OAuth 用户)与可选用户模拟(通过 X-Trino-User 头以 OAuth 用户身份执行查询)。
- Docker 容器支持。
- 支持命名连接配置文件,便于在多个 Trino 环境之间切换;配置文件同时支持 YAML(~/.config/trino/config.yaml)和 JSON(~/.config/trino/config.json),两者同时存在时 JSON 优先。
- 每个命令提供结构化、面向 LLM 的帮助输出,遵循 Unix man-page 约定(NAME、SYNOPSIS、DESCRIPTION、COMMANDS、FLAGS、EXAMPLES、ENVIRONMENT、CONFIGURATION)。
使用方式
可作为交互式 CLI 使用(类似 psql 或 Trino CLI)。REPL 元命令包括:\help、\quit/\exit/\q、\history、\catalogs、\schemas [catalog]、\tables [catalog schema]、\describe <table>、\format <table|json|csv>。 配置优先级从高到低:CLI 标志(--host、--port 等)→ TRINO_PROFILE 环境变量 → 配置文件中的 current 字段 → default 配置文件回退 → 环境变量(TRINO_HOST 等)。 密钥管理建议通过环境变量注入,可使用密钥 CLI 在启动时通过 Unix 管道注入,应用本身不接触 vault;具体可参考 1Password、Vault 和 Kubernetes 模式文档。 关键环境变量包括:TRINO_HOST、TRINO_USER、TRINO_SCHEME、MCP_TRANSPORT、OAUTH_PROVIDER。
适用场景
适用于需要让 AI 助手直接查询 Trino 数据仓库、进行数据分析与探索的场景。兼容 Claude Desktop、Claude Code、Cursor、Windsurf、ChatWise 以及任何兼容 MCP 的客户端。
可用工具
execute_query、list_catalogs、list_schemas、list_tables、get_table_schema、explain_query。
限制
资料未提供具体的价格、收费方式或性能基准数据。OAuth 配置、部署细节、允许列表和用户身份跟踪的完整说明需要参考对应文档。项目采用 MIT 许可证。