MCP Trino Server 是一个 模型上下文协议 (MCP) 服务器,它提供了与 Trino 和 Iceberg 的无缝集成,通过标准接口实现高级的数据探索、查询和表维护能力。
要通过 Smithery 自动安装 MCP Trino Server:
npx -y @smithery/cli install @alaturqua/mcp-trino-python --client claude
最简单的方法是使用包含的 Docker Compose 配置来本地运行 Trino:
docker-compose up -d
这将在 localhost:8080 启动一个 Trino 服务器。现在你可以继续配置 MCP 服务器。
为了快速安装,你可以在你的 VS Code 设置中添加以下配置。你可以通过按 Ctrl + Shift + P 并键入 Preferences: Open User Settings (JSON) 来完成此操作。
可选地,你可以将其添加到工作区中的 .vscode/mcp.json 文件中。这将允许你与其他用户共享配置。
注意:在
.vscode/mcp.json文件中不需要mcp键。
{
"mcp": {
"servers": {
"trino": {
"command": "docker",
"args": ["run", "--rm", "ghcr.io/alaturqua/mcp-trino-python:latest"],
"env": {
"TRINO_HOST": "${input:trino_host}",
"TRINO_PORT": "${input:trino_port}",
"TRINO_USER": "${input:trino_user}",
"TRINO_PASSWORD": "${input:trino_password}",
"TRINO_HTTP_SCHEME": "${input:trino_http_scheme}",
"TRINO_CATALOG": "${input:trino_catalog}",
"TRINO_SCHEMA": "${input:trino_schema}"
}
}
}
}
}
在你的 Claude Desktop 设置中添加以下配置:
{
"mcpServers": {
"trino": {
"command": "python",
"args": ["./src/server.py"],
"env": {
"TRINO_HOST": "your-trino-host",
"TRINO_PORT": "8080",
"TRINO_USER": "trino"
}
}
}
}
| 变量 | 描述 | 默认值 |
|---|---|---|
| TRINO_HOST | Trino 服务器主机名 | localhost |
| TRINO_PORT | Trino 服务器端口 | 8080 |
| TRINO_USER | Trino 用户名 | trino |
| TRINO_CATALOG | 默认目录 | None |
| TRINO_SCHEMA | 默认模式 | None |
| TRINO_HTTP_SCHEME | HTTP 方案 (http/https) | http |
| TRINO_PASSWORD | Trino 密码 | None |
show_catalogs
show_schemas
catalog: 目录名称(字符串,必需)show_tables
catalog: 目录名称(字符串,必需)schema: 模式名称(字符串,必需)describe_table
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)execute_query
query: 要执行的 SQL 查询(字符串,必需)show_catalog_tree
show_create_table
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)show_create_view
view: 视图名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)show_stats
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)optimize
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)optimize_manifests
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)expire_snapshots
table: 表名称(字符串,必需)retention_threshold: 年龄阈值(例如,“7d”)(字符串,可选)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)show_table_properties
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)show_table_history
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)show_metadata_log_entries
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)show_snapshots
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)show_manifests
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)all_snapshots: 包括所有快照(布尔值,可选)show_partitions
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)show_files
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)show_entries
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)all_snapshots: 包括所有快照(布尔值,可选)show_refs
table: 表名称(字符串,必需)catalog: 目录名称(字符串,可选)schema: 模式名称(字符串,可选)limit: 返回的最大查询数量(数字,可选)本项目根据 Apache 2.0 许可证发布。请参阅 LICENSE 文件以获取完整条款。