dbt MCP Server

dbt MCP Server

dbt MCP サーバーは、AIアプリケーションとLLMエージェントが標準モデルコンテキストプロトコルを介してdbtプロジェクトとプログラム的かつ安全に対話できるオープンソースのサーバー実装です。これにより、ツールベースのアクセスがシームレスに実現され、サポートされているクライアントからdbtのCLI、セマンティックレイヤー、発見APIにアクセスできます。

Author: dbt-labs


プロトコルを表示

dbt MCP サーバーとは?

dbt MCP サーバーは、dbtとAI駆動インターフェース間のブリッジで、dbtのコア機能、メタデータ、分析セマンティクスを標準化されたツールとして公開します。これにより、LLMやアプリケーションがMCP経由で呼び出すことができます。ユーザーは自然言語インターフェースやLLM駆動エージェントを通じて、dbtワークフローやデータメトリクスを自動化、クエリ、および管理することができ、細かなアクセス制御と一貫したプロトコルベースの統合が可能です。

dbt MCP サーバーの設定方法

  1. 提供されたスクリプトを使用してサーバーをインストールします:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/dbt-labs/dbt-mcp/refs/heads/main/install.sh)"
    
    これにより、~/.dbt-mcp/ 内にdbt MCPサーバーがインストールまたは更新されます。
  2. 必須設定のための環境変数を設定します。例えば、DBT_HOSTDBT_TOKEN、およびプロジェクト固有のパス(DBT_PROJECT_DIR など)を設定します。DISABLE_DBT_CLI=falseのようなフラグを使用して、どのツールグループ(CLI、セマンティックレイヤー、発見API)を有効にするかをカスタマイズできます。また、必要に応じてセマンティック/リモート機能を設定します。
  3. MCPクライアントを設定します(例:Claude Desktop、Cursor、VS Code)。サーバーのコマンド、引数、および環境設定を指定します。サーバーの詳細をそれぞれのMCP設定ファイル(claude_desktop_config.jsonmcp.jsonsettings.json)に追加し、OSに合わせて実行可能パスを更新します。

dbt MCP サーバーの使用方法

  • MCPクライアント(Claude Desktop、Cursor、VS Codeなど)をdbt MCPサーバーに接続し、クライアント設定でその構成を追加します。
  • インストールされたコマンドを使用してMCPサーバーを起動し、正しい引数を指定します。これにより、サーバーは接続されているクライアントにdbtツールを公開します。
  • クライアントからdbt機能を呼び出すには、自然言語リクエストやUIコマンドを使用します。クライアントはこれらをMCPツール呼び出しに変換し、サーバーがdbtプロジェクトに対して実行します。
  • サーバーを管理、監視、停止するには、クライアントのMCPインターフェースまたはコマンドラインを使用します。
  • CLIベースの使用の場合は、正しい環境と依存関係が設定されていることを確認し、常にアクティブなツールグループを確認してください。

主な機能

  • AIインターフェースからdbtのコア、セマンティック、および発見APIにシームレス且つプロトコルベースでアクセス可能
  • dbt CLIコマンドの安全な実行、セマンティックメトリクスの取得、プロジェクトメタデータのクエリ
  • ツールグループ(CLI、セマンティックレイヤー、発見)の細かい構成と有効化
  • 現代のLLMクライアント(Claude Desktop、Cursor、VS Codeなど)との統合準備が整っている
  • LLMエージェントが読み取り専用と状態変更を伴うdbt操作の両方を実行するための障壁を低減
  • 簡単なインストール、統一された構成、および自動更新サポート

ユースケース

  • コードエディタ(VS CodeやCursorなど)でのLLMベースのコパイロットを有効にし、dbtワークフローを自動化します(モデルの構築やテストなど)
  • 自然言語エージェントがdbtプロジェクトのドキュメントやメタデータを取得し、開発者の支援やオンボーディングを可能にします
  • dbtのセマンティックレイヤーを介してセマンティックメトリクスにアクセスするAIダッシュボードやチャットボットを利用し、会話型分析を実現します
  • dbtの運用チェックポイント(ビルド/テスト/実行)をLLMドライブエージェントがオーケストレーションする自動化パイプラインに統合します
  • dbt発見APIを使用して会話型UIからのアドホッククエリ、モデルの探索、または根本原因分析を促進します

よくある質問

Q: dbt MCPサーバーをdbtプロジェクトと同じマシンにデプロイする必要がありますか?
A: サーバーはローカルまたはリモートで実行できますが、関連するプロジェクトファイルと環境にアクセスする必要があります。パスや環境変数を指定して、dbtプロジェクトを正しく認識するようにしてください。

Q: LLMにすべてのdbtツールへのアクセスを許可するのは安全ですか?
A: 注意してください。一部のdbtツール(buildruntestなど)は、データウェアハウスやモデルを変更する可能性があります。クライアントが使用することを完全に信頼できるツールのみを有効にし、適切な場合は読み取り専用モード(発見およびセマンティックレイヤーなど)を優先してください。

Q: 新しいバージョンがリリースされた場合、サーバーを更新するにはどうすればよいですか?
A: インストールスクリプトを再実行するだけで済みます。既存のdbt-mcpインストールを安全に検出して更新します。

Q: どのdbtバージョンがサポートされていますか?
A: dbt MCPサーバーは、dbt Coreおよびdbt Cloud環境の両方と互換性があります。CLIパスとdbtバージョンが構成に指定された内容と一致していることを確認してください。

Q: 特定のツールグループを選択的に有効または無効にできますか?
A: はい。DISABLE_DBT_CLIDISABLE_DISCOVERYのような環境変数を使用して、サーバーの起動時に機能をオンまたはオフにすることができます。