dbt MCP サーバー
このMCP(モデルコンテキストプロトコル)サーバーは、dbtと連携するためのツールを提供します。詳細については、こちらのブログをご覧ください。
建築
設定
- リポジトリをクローンします。
- uvをインストールする
- インストールタスク
task install
を実行- 環境変数を設定します。
次に、特定の環境変数を使用して.env
編集します ( README.md
のConfiguration
セクションを参照)。
構成
MCP サーバーは次の構成をとります。
ツールグループ
名前 | デフォルト | 説明 |
---|---|---|
DISABLE_DBT_CLI | false | これをtrue に設定すると、dbt Core および dbt Cloud CLI MCP ツールが無効になります |
DISABLE_SEMANTIC_LAYER | false | これをtrue に設定すると、dbtセマンティックレイヤーMCPオブジェクトが無効になります |
DISABLE_DISCOVERY | false | dbt Discovery API MCP オブジェクトを無効にするには、これをtrue に設定します |
DISABLE_REMOTE | true | リモートMCPオブジェクトを有効にするにはこれをfalse に設定します |
検出およびセマンティック層の構成
名前 | デフォルト | 説明 |
---|---|---|
DBT_HOST | cloud.getdbt.com | dbt Cloudインスタンスのホスト名。こちらに記載されているAccess URL と同じ形式になります。マルチセルをご利用の場合は、 ACCOUNT_PREFIX 含めないでください。 |
MULTICELL_ACCOUNT_PREFIX | - | マルチセルをご利用の場合は、 ACCOUNT_PREFIX を設定してください。マルチセルをご利用でない場合は、この環境変数を設定しないでください。詳細はこちらをご覧ください。 |
DBT_TOKEN | - | 個人アクセストークンまたはサービストークン。**注:**セマンティックレイヤーを使用する場合はサービストークンが必要です。 |
DBT_PROD_ENV_ID | - | dbt Cloud 本番環境のID |
リモートツールの構成
名前 | 説明 |
---|---|
DBT_DEV_ENV_ID | dbt Cloud 開発環境 ID |
DBT_USER_ID | dbt CloudユーザーID |
dbt CLI の設定
名前 | 説明 |
---|---|
DBT_PROJECT_DIR | dbtプロジェクトのリポジトリがローカルにホストされているパス。/Users/firstnamelastname/reponame /Users/firstnamelastname/reponame ような形式になります。 |
DBT_PATH | dbt Coreまたはdbt Cloud CLI実行ファイルへのパス。which which dbt を実行するとdbt実行ファイルが見つかります。 |
MCPクライアントでの使用
インストールが完了すると、MCP クライアントでサーバーを使用できるようになります。
この設定は、それぞれのクライアントの設定ファイルに追加されます。 <>
内のセクションを必ず置き換えてください。
<path-to-mcp-executable>
OS によって異なります。
- Linux および Mac:
<path-to-this-directory>/.venv/bin/mcp
- PC:
<path-to-this-directory>/.venv/Scripts/mcp
クロードデスクトップ
次の手順に従って、 claude_desktop_config.json
ファイルを作成し、接続します。
Mac では、Claude Desktop のログは~/Library/Logs/Claude
にあります。
カーソル
- カーソルメニューを開き、設定→カーソル設定→MCPを選択します。
- 「新しいグローバルMCPサーバーを追加」をクリックします
- 上記の設定を提供された
mcp.json
ファイルに追加します。 - MCPタブ内で接続がアクティブであることを確認します
カーソルMCPドキュメントはここを参照してください
VSコード
- 設定メニュー(コマンド+カンマ)を開き、ページ上部にある使用ケースに適したタブを選択します。
Workspace
- ワークスペースのコンテキストでサーバーを構成しますUser
- ユーザーのコンテキストでサーバーを構成します- WSLユーザーへの注意:VS CodeをWSLで使用している場合は、WSL固有の設定を行う必要があります。コマンドパレット(F1)から**「Preferences: Open Remote Settings」コマンドを実行するか、設定エディターで「Remote」**タブを選択してください。ローカルユーザー設定はWSLで再利用されますが、WSL固有の設定で上書きできます。ローカルユーザー設定でMCPサーバーを設定しても、WSL環境では正しく動作しません。
- 機能を選択→チャット
- 「Mcp」が
Enabled
ことを確認する
- 「Mcp > Discovery」の下にある「settings.jsonで編集」をクリックします。
- 提供された
settings.json
ファイルに、サーバー構成(dbt
)をサーバーの1つとして追加します。
<path-to-mcp-executable>
OS によって異なります。
- Linux および Mac:
<path-to-this-directory>/.venv/bin/mcp
- PC:
<path-to-this-directory>/.venv/Scripts/mcp
- MCP サーバーは、次の方法で起動、停止、および構成できます。
- コマンドパレット(Control + Command + P)から
MCP: List Servers
コマンドを実行し、サーバーを選択します。 settings.json
ファイル内のキーワードをインラインで利用する
VS Code MCPドキュメントはこちらをご覧ください
ツール
dbt CLI
build
- モデル、テスト、スナップショット、シードを依存関係の順序で実行しますcompile
- モデル、テスト、分析を実行せずに実行可能なSQLを生成します。docs
- dbt プロジェクトのドキュメントを生成しますls
(リスト) - モデルやテストなどの dbt プロジェクト内のリソースを一覧表示しますparse
- プロジェクトのファイルを解析して構文の正確性を検証しますrun
- モデルを実行してデータベースに具体化するtest
- データとモデルの整合性を検証するためのテストを実行しますshow
- データウェアハウスに対してクエリを実行します
クライアントがこのMCPツールを通じてdbtコマンドを使用することを許可すると、データモデル、ソース、ウェアハウスオブジェクトが変更される可能性があります。クライアントを信頼でき、潜在的な影響を理解している場合のみ、続行してください。
セマンティックレイヤー
list_metrics
- 定義されたすべてのメトリックを取得しますget_dimensions
- 指定された指標に関連付けられたディメンションを取得しますget_entities
- 指定されたメトリックに関連付けられたエンティティを取得しますquery_metrics
- オプションのグループ化、順序付け、フィルタリング、制限を使用してメトリックをクエリします
発見
get_mart_models
- すべてのマートモデルを取得しますget_all_models
- すべてのモデルを取得するget_model_details
- 特定のモデルの詳細を取得しますget_model_parents
- 特定のモデルの親ノードを取得しますget_model_children
- 特定のモデルの子モードを取得します
貢献
参加方法については、 CONTRIBUTING.md
をご覧ください。
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
dbt-mcp
Related MCP Servers
- JavaScriptMIT License
- Python
- PythonMIT License
- JavaScriptMIT License