[新機能]dbt CloudでホストされたRemote MCP Serverがパブリックベータとしてリリースされました

[新機能]dbt CloudでホストされたRemote MCP Serverがパブリックベータとしてリリースされました

2025.08.28

さがらです。

dbt CloudでホストされたRemote MCP Serverがパブリックベータとしてリリースされました。

https://docs.getdbt.com/docs/dbt-ai/setup-remote-mcp

この新機能を実際に試してみたので、その内容について本記事でまとめてみます。

Remote MCP Serverとは

まず前提として、dbtはOSSでdbt MCP Serverをリリースしていました。

https://github.com/dbt-labs/dbt-mcp

このOSSのdbt MCP Serverはユーザーがそれぞれセットアップする必要があり、以下の課題がありました。

  • デプロイの難しさ: 複数のユーザーが利用する(マルチテナント)環境でのホスティングや運用が難しい。
  • 用途の制限: 主に個人の開発環境での利用が想定されており、Webアプリケーションのような共有サービスを構築するには不向きである。

こういった課題を解決できるのが、今回リリースされたRemote MCP Serverです!「Remote」という名の通り、ユーザー側でMCP Serverのセットアップが不要でdbt CloudにホストされたMCP Serverを利用する形式となっています。

以下はこちらの公式ブログの内容を元に、従来のローカルのMCP Serverと、今回リリースされたRemote MCP Serverの違いをまとめた表となります。

ローカル MCP Server Remote MCP Server
ホスティング ユーザー自身が管理 dbt Labsが管理(クラウドサービス)
接続方法 ローカル環境で実行 HTTP API経由で接続
主な用途 個人の開発支援(ローカルでのコーディングエージェントなど) 共有アプリケーション、Webアプリ、サーバーサイドのAIエージェント構築
メリット ローカルのコードとAIが持つ情報が完全に一致する インフラ管理が不要で、導入が容易。スケーラビリティやセキュリティをdbt Cloudに任せられる。

こちらの公式ブログではRemote MCP Serverの用途として、以下を挙げていました。(日本語訳したものを記載)

  • dbtの正確で管理された指標を使用して、ビジネス関連の質問に回答
  • PII列を識別し、ガバナンスポリシーを自動的に適用
  • コード品質を向上させ、レビュープロセスを迅速化するPRレビューエージェント
  • メタデータとカタログ情報を調べて、データの検出とトラブルシューティングを高速化
  • オンコールのインシデントサポートエージェントが問題をより早く解決

Remote MCP Serverのセットアップに必要な情報を確認

ということで、リリースされたMCP Serverを試してみようと思います!

今回は一番セットアップが簡単そうなCursorからRemote MCP Serverにアクセスすることを試してみます。

dbt CloudのホストURL

まず、dbt CloudのホストURLを確認します。

dbt Cloudにアクセスして下図のようにURLが表示されていたら、MCP Server用のURLはhttps://cloud.getdbt.com/api/ai/v1/mcp/となります。

2025-08-28_05h31_43

サービストークン

次に、サービストークンを生成します。

Semantic Layerも含めてフルに活かしたい場合には、Semantic Layer OnlyMetadata OnlyDeveloperをPermissionとして指定し、サービストークンを生成します。

2025-08-28_05h39_20

Production EnvironmentのID

最後に、Production EnvironmentのIDを確認します。これも対象のEnvironmentの画面を開いて、URL欄から確認可能です。

2025-08-28_05h45_06

Cursorから接続設定

先ほどdbt Cloudで確認した情報を元に、Cursorから接続設定を行います。(Cursor自体のセットアップは事前に行っているものとします。)

以下のURLにアクセスし、Set up with remote dbt MCP serverの配下にあるAdd to Cursorを押します。

https://docs.getdbt.com/docs/dbt-ai/integrate-mcp-cursor

2025-08-28_05h49_20

すると、Cursorが立ち上がるため、先程確認した情報を入れてinstallを押します。サービストークンについては、token の後に入れる必要があるためご注意ください。

2025-08-28_05h51_27

無事にインストールされると、MCP Tools欄に下図のようにdbtのRemote MCP Serverが追加されます。

2025-08-28_05h54_11

Remote MCP Serverを活用してみる

では実際に、CursorからRemote MCP Serverを活用してみます!(Cursorは無料のHobbyプランを利用しています。)

利用可能なモデルの確認

雑に、「利用可能なモデルの一覧を教えて」と聞いてRun toolを押すと、下図のように返ってきました。Descriptionが英語で書かれている場合でも、日本語に翻訳されて返ってきました。

2025-08-28_06h11_38

2025-08-28_06h14_11

各モデルが正常かどうかの確認

各モデルが正常に更新されているかを確認するために、「各モデルに異常はないか確認して」と聞いてみます。

すると、1つ1つのModelに対してget_model_healthが動き、結果としては全てのモデルが問題ないことが返ってきました。

2025-08-28_06h22_30

2025-08-28_06h23_43

より具体的にどういったテストを行っているか、「テストを行っているモデルについて、どのようなテストを行っていますか」と聞いて確認してみます。

すると、各モデルについて実施しているテストの詳細が返ってきました。

2025-08-28_06h26_46

自然言語でSQLの生成をリクエスト

「stg_customersを軸に、売上のデータをJOINして顧客ごとの売上状況を知るためのsqlを生成してください」と聞いて、SQLの生成をリクエストしてみます。

これにより、下図のようにSQLが生成されました。

2025-08-28_06h44_18

生成されたSQLが本当に正しく動くのかを確認するため、「生成されたSQLを実行して、どんなデータが取得できるか確認したいです」と聞くと、上手く実行ができませんでした。

2025-08-28_06h48_23

参考までに、生成されたSQLをdbt Cloud上で動かすと、Encountered an error: Runtime Error Database Error in sql_operation inline_query (from remote system.sql) 002140 (42601): SQL compilation error: Unknown function STRING_AGGと返ってきました。

今回利用しているDWHはSnowflakeなのですが、STRING_AGGという関数が存在しないためエラーとなったようです。

2025-08-28_06h50_52

メトリクス関係の問い合わせ

次に、メトリクス関係の問い合わせを行ってみます。

「プロダクトごとの売上実績を知りたいです」や「年月別の売上を知りたいです」と問い合わせを行ったら、下図のように表示され、回答は返ってこずにトークンを延々と消費するだけとなる事態が起きました。

2025-08-28_06h39_17

2025-08-28_06h40_56

最後に

dbt CloudでホストされたRemote MCP Serverがパブリックベータとしてリリースされたので、試してみました。

パブリックベータということが理由なのか、私の試し方が悪いのか、原因はわからないのですがSQL生成とメトリクス関係については満足いく結果を得ることができませんでした…

一方で、各モデルの説明を得たり、各モデルが正常かどうかの問い合わせは問題なく行えたので、カタログ情報に対して自然言語で問い合わせするという用途では現時点でも上手く動きそうな印象を得ました。

まだパブリックベータですので、今後のアップデートに期待したいところです!!

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.