article
README
🚀 Trino MCP 服务端
本仓库提供了一个 MCP(模型控制协议)服务端,借助该服务端,你能够通过 Python 使用 Trino 来列出和查询表,为数据操作提供了便利。
🚀 快速开始
此 MCP 服务端允许你利用 Python 与 Trino 进行交互,实现表的列举和查询功能。下面将为你详细介绍相关信息。
✨ 主要特性
- MCP 功能:MCP 是一种用于连接 AI 模型、数据和工具的协议。此示例 MCP 服务端具备以下功能:
- 可将 Trino 表列举为 MCP 资源。
- 支持通过 MCP 读取表格内容。
- 提供执行任意 SQL 查询的工具(针对 Trino)。
- Trino 集成: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",
"<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>"
}
}
}
}
微信扫一扫