dbt MCP Server について
dbt MCP Serverは、dbt Core、dbt Fusion、dbt Platformのプロジェクトを扱うツールをAIエージェントに提供します。SQL、セマンティック指標、プロジェクト探索、CLI操作、ジョブ、コード生成、ドキュメントを幅広く扱います。
主な機能
- 01SQL実行とセマンティック指標のクエリ
- 02モデル、ソース、リネージの確認
- 03dbt CLIコマンドとテストの実行
- 04Platformのジョブと実行履歴の管理
- 05モデルとソースファイルの生成
- 06dbtドキュメントの検索と取得
活用シーン
- 01プロジェクトのモデルと依存関係を調査
- 02プロジェクトの文脈を用いて自然言語からSQLを生成
- 03モデルの健全性とジョブ実行エラーを確認
- 04ステージングモデルとYAMLファイルを生成
MCP 対応
dbtプロジェクト、SQL、CLI、Semantic Layer、Platform管理、コード生成、ドキュメントのツールをMCPクライアントに公開します。互換クライアント向けに実験的なMCP Bundleも公開されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
dbt MCP サーバー
この MCP(Model Context Protocol)サーバーは、dbt と連携するさまざまなツールを提供します。この MCP サーバーを使用すると、dbt Core、dbt Fusion、dbt Platform におけるプロジェクトのコンテキストを AI エージェントに提供できます。
詳しくは、ドキュメントのこちらをご覧ください。こちらのブログ記事では、dbt MCP サーバーで実現できることを詳しく紹介しています。
実験的な MCP バンドル
各リリースで、実験的な Model Context Protocol バンドル(dbt-mcp.mcpb)を公開しています。これにより、MCPB に対応したクライアントは追加の設定なしでこのサーバーをインポートできます。最新リリースのアセットからバンドルをダウンロードし、Anthropic の mcpb CLI のドキュメントに従ってインストールまたは内容の確認を行ってください。
フィードバック
ご意見やご質問がある場合は、GitHub Issue を作成するか、コミュニティ Slack の #tools-dbt-mcp チャンネルにご参加ください。
アーキテクチャ
dbt MCP サーバーのアーキテクチャでは、エージェントがさまざまなツールに接続できます。

ツール
SQL
dbt Platform のインフラストラクチャ上で SQL を実行および生成するツールです。
execute_sql: Semantic Layer をサポートし、dbt Platform のインフラストラクチャ上で SQL を実行します。text_to_sql: プロジェクトのコンテキストを使用して、自然言語から SQL を生成します。
Semantic Layer
dbt Semantic Layer の詳細については、こちらをご覧ください。
get_dimension_values: ディメンションの個別の値を取得します。特定のメトリクスに対象を限定することもできます。get_dimensions: 指定したメトリクスのディメンションを取得します。get_entities: 指定したメトリクスのエンティティを取得します。get_metrics_compiled_sql: クエリを実行せずに、メトリクスのコンパイル済み SQL を返します。list_metrics: 定義済みのすべてのメトリクスを取得します。list_saved_queries: 保存済みのすべてのクエリを取得します。query_metrics: フィルタリングやグループ化のオプションを指定して、メトリクスのクエリを実行します。
Discovery
dbt Discovery API の詳細については、こちらをご覧ください。
get_all_macros:マクロを取得します。パッケージで絞り込むか、パッケージ名のみを返すオプションがあります。get_all_models:すべてのモデルの名前と説明を取得します。get_all_sources:鮮度ステータスを含むすべてのソースを取得します。ソース名で絞り込むオプションがあります。get_exposure_details:(非推奨 — 代わりにget_node_detailsを使用してください)get_exposures:すべてのエクスポージャー(下流のダッシュボード、アプリ、分析)を取得します。get_lineage:タイプ、深さ、方向で絞り込める、範囲を指定したリネージグラフを取得します。get_macro_details:(非推奨 — 代わりにget_node_detailsを使用してください)get_mart_models:すべてのマートモデルを取得します。get_model_children:(非推奨 — 代わりにget_lineageを使用してください)get_model_details:(非推奨 — 代わりにget_node_detailsを使用してください)get_model_health:実行ステータス、テスト結果、上流ソースの鮮度などのヘルスシグナルを取得します。get_model_parents:(非推奨 — 代わりにget_lineageを使用してください)get_model_performance:モデルの実行履歴を取得します。テスト結果を含めるオプションがあります。get_node_details:あらゆる dbt リソースタイプ(model、source、exposure、test、seed、snapshot、macro、semantic_model)の詳細を取得します。get_related_models:セマンティック検索を使用して類似モデルを検索します。get_seed_details:(非推奨 — 代わりにget_node_detailsを使用してください)get_semantic_model_details:(非推奨 — 代わりにget_node_detailsを使用してください)get_snapshot_details:(非推奨 — 代わりにget_node_detailsを使用してください)get_source_details:(非推奨 — 代わりにget_node_detailsを使用してください)get_test_details:(非推奨 — 代わりにget_node_detailsを使用してください)search:[アルファ版] dbt プロジェクト内のリソースを検索します(一般には利用できません)。search_public_mesh_models:プロジェクトを横断して公開 dbt Mesh モデルを検索し、プロデューサーの身元を確認します。これにより、検証済みのプロジェクト間参照を構築できます(複数プロジェクトの構成のみ)。
dbt CLI
MCP ツールを通じてクライアントが dbt コマンドを使用できるようにすると、データモデル、ソース、ウェアハウスオブジェクトが変更される可能性があります。クライアントを信頼でき、影響の可能性を理解している場合にのみ実行してください。
build:DAG の順序でモデル、テスト、スナップショット、シードを実行します。clone:指定した状態から選択したノードを、対象のスキーマに複製します。compile:モデル、テスト、分析から実行可能な SQL を生成します。Jinja ロジックの検証に便利です。docs:dbt プロジェクトのドキュメントを生成します。get_lineage_dev:ローカルの manifest.json から、タイプと深さで絞り込んだリネージを取得します。get_node_details_dev:ローカルの manifest.json からノードの詳細(モデル、シード、スナップショット、ソース)を取得します。list:セレクターによる絞り込みをサポートし、タイプ別に dbt プロジェクト内のリソースを一覧表示します。parse:構文が正しいか確認するため、プロジェクトファイルを解析して検証します。run:データベースにモデルをマテリアライズします。show:データベースに対して SQL を実行し、結果を返します。test:データとモデルの整合性を検証するテストを実行します。
Admin API
dbt Administrative API の詳細については、こちらをご覧ください。
cancel_job_run:実行中のジョブをキャンセルします。get_job_details:トリガー、スケジュール、dbt コマンドなどのジョブ設定を取得します。get_job_run_artifacts:ジョブ実行から特定の成果物をダウンロードします。サイズの大きな成果物の場合は、jq_filter を指定して再試行するよう案内するメッセージを返します。対象を絞り込んだ抽出のための jq フィルタリングに対応しています。get_job_run_details:ステータス、実行時間、ステップ、成果物などの実行詳細を取得します。get_job_run_error:ジョブ実行のエラーや警告の詳細を取得します。警告を含めるか、警告のみを表示するかを指定できます。list_job_run_artifacts:ジョブ実行で利用可能な成果物を一覧表示します。list_jobs:dbt Platform アカウント内のジョブを一覧表示します。プロジェクトまたは環境で絞り込めます。list_jobs_runs:ジョブの実行履歴を一覧表示します。ジョブやステータスで絞り込むか、フィールドで並べ替えられます。list_projects:dbt Platform アカウント内のすべてのプロジェクトを一覧表示します。retry_job_run:失敗したジョブ実行を再試行します。trigger_job_run:ジョブ実行を開始します。Git ブランチ、スキーマ、その他の設定を上書きできます。
dbt Codegen
これらのツールは、dbt プロジェクトファイルの定型コード生成を自動化します。
generate_model_yaml:カラムを含むモデル YAML を生成します。上流の説明を継承できます。generate_source:データベーススキーマを調べてソース YAML を生成します。カラムを含めることができます。generate_staging_model:ソーステーブルからステージングモデルの SQL を生成します。
dbt LSP
Fusion エンジンを活用して、高度な SQL コンパイルとカラムレベルのリネージ分析を行うツール群です。
fusion.compile_sql:dbt Platform を介して、プロジェクトのコンテキストで SQL をコンパイルします。fusion.get_column_lineage:dbt Platform を介して、カラムレベルのリネージを追跡します。get_column_lineage:ローカルでカラムレベルのリネージを追跡します(dbt Labs VSCE 経由の dbt-lsp が必要です)。
Product Docs
docs.getdbt.com の公式 dbt ドキュメントを検索し、内容を取得するためのツールです。
get_product_doc_pages:パスまたは URL を指定して、1 つ以上の docs.getdbt.com ページの Markdown 全文を取得します。search_product_docs:クエリに一致する docs.getdbt.com のページを検索し、関連度順に並べたタイトル、URL、説明を返します。全文を取得するには get_product_doc_pages を使用してください。
MCP Server Metadata
MCP サーバー自体に関する情報を提供するツールです。
get_mcp_server_branch:実行中の dbt MCP サーバーの現在の Git ブランチを返します。get_mcp_server_version:dbt MCP サーバーの現在のバージョンを返します。
Examples
通常は、dbt MCP サーバーを Claude や Cursor などのエージェント製品に接続します。ただし、独自のエージェントを作成する場合は、examples ディレクトリを参照して、始め方をご確認ください。
Dependencies
依存関係のバージョンは特定のものに固定されており、自動更新されません。セキュリティ関連の依存関係の更新のみ、自動プルリクエストで提出されます。
Contributing
参加方法については、CONTRIBUTING.md をお読みください!
セレクター宣言とコンテキストマッパーの契約については、ツール入力と解決済みコンテキストをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。