Trino MCP 服务器
此仓库提供了一个 MCP(模型-控制-协议)服务器,允许您通过 Trino 使用 Python 列出和查询表。
概述
- MCP:MCP 是一个用于连接 AI 模型、数据和工具的协议。此示例 MCP 服务器提供:
- 将 Trino 表列作为 MCP 资源
- 通过 MCP 读取表内容
- 用于对 Trino 执行任意 SQL 查询的工具
- Trino:一个快速、分布式的大数据分析 SQL 查询引擎。此服务器利用 Trino 的 Python 客户端(trino.dbapi)连接到 Trino 主机、目录和模式。
要求
- Python 3.9+(或与 mcp、trino 和 asyncio 兼容的版本)
- trino(Trino 的 Python 驱动程序)
- mcp(模型-控制-协议的 Python 库)
配置
服务器从环境变量读取 Trino 连接详情:
| 变量 | 描述 | 默认值 |
|---|---|---|
TRINO_HOST | Trino 服务器主机名或 IP | localhost |
TRINO_PORT | Trino 服务器端口 | 8080 |
TRINO_USER | Trino 用户名 | 必需 |
TRINO_PASSWORD | Trino 密码(可选,取决于您的认证设置) | (空) |
TRINO_CATALOG | 默认使用的目录(例如,hive、tpch、postgresql 等) | 必需 |
TRINO_SCHEMA | 默认使用的模式(例如,default、public 等) | 必需 |
使用
{
"mcpServers": {
"trino": {
"command": "uv",
"args": [
"--directory",
"<mcp_server_trino路径>",
"run",
"mcp_server_trino"
],
"env": {
"TRINO_HOST": "<主机>",
"TRINO_PORT": "<端口>",
"TRINO_USER": "<用户>",
"TRINO_PASSWORD": "<密码>",
"TRINO_CATALOG": "<目录>",
"TRINO_SCHEMA": "<模式>"
}
}
}
}