MCP Trino サーバー
MCP Trino サーバーは、Trino および Iceberg とのシームレスな統合を提供し、標準インターフェースを通じて高度なデータ探索、クエリ、およびテーブル メンテナンス機能を可能にするモデル コンテキスト プロトコル (MCP)サーバーです。
ユースケース
Trinoでのインタラクティブなデータ探索と分析
自動アイスバーグテーブルのメンテナンスと最適化
Trinoデータベースと連携するAI搭載ツールの構築
適切な結果フォーマットでSQLクエリを実行および管理する
Related MCP server: Database MCP Server
前提条件
実行中の Trino サーバー (またはローカル開発用の Docker Compose)
Python 3.11以上
Docker(オプション、コンテナ化されたデプロイメント用)
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の MCP Trino Server を自動的にインストールするには:
Trinoをローカルで実行する
最も簡単な方法は、付属の Docker Compose 構成を使用して Trino をローカルで実行することです。
これによりlocalhost:8080上でTrinoサーバーが起動します。これでMCPサーバーの設定に進むことができます。
VS Codeでの使用
簡単にインストールするには、VS Codeの設定に以下の設定を追加してください。Ctrl Ctrl + Shift + Pを押してPreferences: Open User Settings (JSON)と入力してください。
オプションとして、ワークスペース内の.vscode/mcp.jsonというファイルに追加することもできます。これにより、他のユーザーと設定を共有できるようになります。
.vscode/mcp.jsonファイルではmcpキーは必要ないことに注意してください。
Claude Desktopでの使用
Claude デスクトップ設定に次の構成を追加します。
構成
環境変数
変数 | 説明 | デフォルト |
トリノホスト | Trinoサーバーのホスト名 | ローカルホスト |
トリノポート | Trino サーバーポート | 8080 |
TRINO_USER | Trinoのユーザー名 | トリノ |
トリノカタログ | デフォルトカタログ | なし |
トリノスキーマ | デフォルトのスキーマ | なし |
TRINO_HTTP_SCHEME | HTTPスキーム(http/https) | http |
TRINO_パスワード | トリノパスワード | なし |
ツール
クエリと探索ツール
カタログを表示
利用可能なすべてのカタログを一覧表示する
パラメータは必要ありません
スキーマを表示
カタログ内のすべてのスキーマを一覧表示する
パラメータ:
catalog: カタログ名(文字列、必須)
表示テーブル
スキーマ内のすべてのテーブルを一覧表示する
パラメータ:
catalog: カタログ名(文字列、必須)schema: スキーマ名(文字列、必須)
テーブルの説明
詳細なテーブル構造と列情報を表示する
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
クエリ実行
SQLクエリを実行し、フォーマットされた結果を返す
パラメータ:
query: 実行するSQLクエリ(文字列、必須)
カタログツリーを表示
カタログ、スキーマ、テーブルの階層ツリービューを表示します
視覚的なインジケータ付きのフォーマットされたツリー構造を返します
パラメータは必要ありません
表示_作成_テーブル
テーブルのCREATE TABLE文を表示する
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
表示_作成_ビュー
ビューの CREATE VIEW ステートメントを表示します
パラメータ:
view: ビュー名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
統計を表示
テーブルの統計情報を表示する
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
アイスバーグテーブルのメンテナンス
最適化する
小さなファイルを圧縮してアイスバーグテーブルを最適化する
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
最適化マニフェスト
アイスバーグテーブルのマニフェストファイルを最適化する
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
有効期限切れスナップショット
Iceberg テーブルから古いスナップショットを削除する
パラメータ:
table: テーブル名(文字列、必須)retention_threshold: 経過日数のしきい値 (例: "7d") (文字列、オプション)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
アイスバーグメタデータ検査
テーブルプロパティを表示する
アイスバーグテーブルのプロパティを表示
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
テーブルの履歴を表示
アイスバーグテーブルの履歴/変更ログを表示
スナップショットのタイミング、系統、祖先の情報が含まれています
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
メタデータログエントリの表示
Icebergテーブルのメタデータログエントリを表示する
メタデータファイルの場所とシーケンス情報が含まれています
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
スナップショットを表示
アイスバーグテーブルのスナップショットを表示
操作やマニフェストファイルなどのスナップショットの詳細が含まれます
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
マニフェストを表示する
現在のスナップショットまたはすべてのスナップショットの Iceberg テーブル マニフェストを表示します
マニフェストファイルの詳細とデータファイルの統計が含まれています
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)all_snapshots: すべてのスナップショットを含める(ブール値、オプション)
パーティションの表示
アイスバーグテーブルのパーティションを表示
パーティション統計とファイル数が含まれます
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
ファイルを表示
現在のスナップショットの Iceberg テーブル データ ファイルを表示します
詳細なファイルメタデータと列統計が含まれています
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
エントリを表示
現在のスナップショットまたはすべてのスナップショットの Iceberg テーブル マニフェスト エントリを表示します。
エントリステータスと詳細なファイルメトリックが含まれています
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)all_snapshots: すべてのスナップショットを含める(ブール値、オプション)
表示参照
Iceberg テーブル参照 (ブランチとタグ) を表示する
参照構成とスナップショットマッピングが含まれています
パラメータ:
table: テーブル名(文字列、必須)catalog: カタログ名(文字列、オプション)schema: スキーマ名(文字列、オプション)
クエリ履歴
クエリ履歴を表示
実行されたクエリの履歴を取得する
パラメータ:
limit: 返されるクエリの最大数(数値、オプション)
ライセンス
このプロジェクトはApache 2.0ライセンスに基づいてライセンスされています。全文についてはLICENSEファイルをご覧ください。