dbt Semantic Layer MCP Server について
dbt Semantic Layer MCP Serverは、AIアシスタントからdbt Semantic Layerの定義済み指標を自然言語で検索するためのサーバーです。指標の探索やディメンション分析、結果表示にも対応します。
主な機能
- 01指標の一覧表示と検索
- 02自然言語によるクエリ作成
- 03データの絞り込み、グループ化、並べ替え
- 04クエリ結果の表示
活用シーン
- 01利用可能なビジネス指標の確認
- 02製品カテゴリ別の月次売上分析
- 03ユーザー登録の成長傾向の分析
MCP 対応
dbt Semantic Layerに接続し、互換性のあるAIアシスタントに指標の探索、クエリ、分析機能を提供するMCPサーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
dbt Semantic Layer MCP サーバー
Claude Desktop やその他の互換性のある AI アシスタントを通じて、dbt Semantic Layer をシームレスにクエリできる Model-Connector-Presenter(MCP)サーバーです。
dbt Semantic Layer とは?
dbt Semantic Layer は、dbt プロジェクトでメトリクスを一度定義し、データスタック全体で一貫して再利用できる強力な機能です。次のことができます。
- ビジネスメトリクスの信頼できる唯一の情報源を提供
- すべてのデータツール間で一貫したメトリクス定義を実現
- チームメンバー全員が複雑なメトリクスに簡単にアクセスできるようにする
このプロジェクトについて
この MCP サーバーは、AI アシスタント(Claude など)と dbt Semantic Layer をつなぐブリッジとして機能し、次のことが可能になります。
- 自然言語での会話を通じてメトリクスを直接クエリする
- 利用可能なメトリクスとその定義を確認する
- ディメンションによる内訳やフィルターを使ってデータを分析する
- AI アシスタントのインターフェース内で結果を可視化する
機能
- 🔍 メトリクスの検索:dbt Semantic Layer で利用可能なメトリクスを確認・検索できます
- 📊 クエリの作成:自然言語でセマンティッククエリを生成・実行できます
- 🧮 データ分析:メトリクスをフィルタリング、グループ化、並べ替えて、より深い洞察を得られます
- 📈 結果の可視化:クエリ結果をわかりやすい形式で表示します
前提条件
- Semantic Layer が有効になっている dbt Cloud アカウント
- dbt Cloud インスタンスへの API アクセス
- Node.js(v14 以降)
インストール
Smithery 経由(推奨)
最も簡単なインストール方法は、Smithery 経由です。
npx -y @smithery/cli install @TommyBez/dbt-semantic-layer-mcp --client claude
使い方
インストールと設定が完了したら、Claude Desktop から dbt Semantic Layer を直接操作できます。
- 利用可能なメトリクスについて質問します:「dbt Semantic Layer で利用できるメトリクスは何ですか?」
- 特定のメトリクスをクエリします:「前四半期の月ごとの売上を商品カテゴリ別に表示してください」
- トレンドを分析します:「ユーザー登録数の週ごとの増加率はどのくらいですか?」
トラブルシューティング
問題が発生した場合は、次の点を確認してください。
- API 認証情報が正しいことを確認する
- dbt Cloud プロジェクトで Semantic Layer が有効になっていることを確認する
- dbt プロジェクトでメトリクスが正しく定義されていることを確認する
コントリビューション
コントリビューションを歓迎します!お気軽に Pull Request を送信してください。
ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細については LICENSE ファイルをご覧ください。
謝辞
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。