Trino数据查询服务
一个MCP服务器,它通过Model-Control-Protocol提供对数据资源的访问,能够使用Python列出和查询Trino表。
服务介绍
Trino MCP 服务器
此仓库提供了一个MCP(Model-Control-Protocol)服务器,允许你通过Python使用Trino列出和查询表。
概览
- MCP: MCP是一个用于连接AI模型、数据和工具的协议。此示例MCP服务器提供:
- 作为MCP资源的Trino表列表
- 通过MCP读取表内容的能力
- 一个可以执行任意SQL查询针对Trino的工具
- Trino: 一种快速、分布式的用于大数据分析的SQL查询引擎。该服务器利用Trino的Python客户端(trino.dbapi)来连接到Trino主机、目录和模式。
要求
- Python 3.9+(或与mcp, trino, 和 asyncio兼容的版本)
- trino (Trino的Python驱动)
- mcp (Model-Control-Protocol 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",
"<path_to_mcp_server_trino>",
"run",
"mcp_server_trino"
],
"env": {
"TRINO_HOST": "<host>",
"TRINO_PORT": "<port>",
"TRINO_USER": "<user>",
"TRINO_PASSWORD": "<password>",
"TRINO_CATALOG": "<catalog>",
"TRINO_SCHEMA": "<schema>"
}
}
}
}