ClaudeをBigQueryに接続する方法

|飯野正樹
ClaudeをBigQueryに接続する方法

ClaudeをBigQeuryのデータセットに接続すると、Claudeから自然言語でBigQuery内のデータの集計・分析が可能になります。

具体的な分析の前に、まず今回はClaudeをBigQueryのデータセットに接続する方法を解説します。

必要なもの/必要な条件

  1. Claude(のアカウントとアプリ)
  2. 接続するデータセットがあるBigQueryのプロジェクトのIAMが編集できるGoogle Cloudの権限

上記の2の権限については、自分がGoogle Cloudの管理者ではない場合は、お使いのGoolge Cloudの管理者レベルの権限が必要になるので、偉い人やお母さんに聞いてみてね!

そして、Googleのアカウントが必要です。後述しますが、いわゆる「Googleでログイン」と同じことするためです。

手順

  1. BigQueryリモートMCPサーバーを有効にする
  2. Google Cloudのプロジェクトの権限を設定する
  3. Google CloudのプロジェクトのOAuthクライアントを作成する
  4. ClaudeからBigQueryに接続する
  5. 実際にClaudeでBIgQuery内のデータを見てみる

準備はいいかい? では始めよう!

1.BigQueryリモートMCPサーバーを有効にする

まずはBigQueryリモートMCPサーバーを有効にするところから始めましょう。

該当のプロジェクト画面の右上のアイコンをクリックしてCloud Shellを立ち上げます。

※この段階で承認ができないようでしたら、いまあなたが作業している環境では権限レベルが足りていません。誰か偉い人に相談しましょう。

Cloud Shellの黒い画面が表示されたら、このコマンドを実行します。

プロジェクトID となっている部分はご自身のプロジェクトIDを入力してください。

gcloud beta services mcp enable SERVICE \
    --project=プロジェクトID

enableになったら、次に進みましょう。

Google公式の「BigQuery リモート MCP サーバーを使用する」も参考にしてください。

https://docs.cloud.google.com/bigquery/docs/use-bigquery-mcp

2.Google Cloudのプロジェクトの権限を設定する

続いてGoogle CloudのプロジェクトのBigqueryへの権限を付与していきます。

どのように権限を付与するかは、どのデータセットをClaudeと連携するかによって異なります。

【BigQuery内のすべてのデータセットをClaudeと連携する場合】

  • プロジェクトへの権限付与
    • MCP ツールユーザー roles/mcp.toolUser
    • BigQuery ジョブユーザー roles/bigquery.jobUser
    • BigQuery データ閲覧者 roles/bigquery.dataViewer

【BigQuery内の特定のデータセットをClaudeと連携する場合】

  • プロジェクトへの権限付与
    • MCP ツールユーザー roles/mcp.toolUser
    • BigQuery ジョブユーザー roles/bigquery.jobUser
  • 特定のデータセットへの権限付与
    • BigQuery データ閲覧者 roles/bigquery.dataViewer

今回は【BigQuery内の特定のデータセットをClaudeと連携する場合】の権限付与をキャプチャ入りで解説します。

進めましょう。

まず左側メニューから「IAMと管理」を開き「IAM」をクリックします。

※ IAM=Identity and Access Managementね

画面中段の「アクセスを許可」をクリックして、新しいプリンシパルを追加していきます。

右側にパネルが開くので、この「新しいプリンシパル」にGoogleアカウントを入力します。

「ロールを割り当てる」に前述した2つの権限、

  • MCP ツールユーザー roles/mcp.toolUser
  • BigQuery ジョブユーザー roles/bigquery.jobUser

を設定し「保存」します。

続いて特定のデータセットへ権限を付与します。

連携したいデータセットの右側の ︙ から 共有>権限を管理 へと進みます。

ここでも先ほど追加したGoogleアカウントを新しいプリンシパルとして追加します。

ここで付与する権限は、

  • BigQuery データ閲覧者 roles/bigquery.dataViewer

です。

ここまでで権限付与は完了です。

次はClaudeがBigQueryと連携するためのOAuth同意画面、いわゆる「Googleでログイン」を用意します。

3.Google CloudのプロジェクトのOAuthクライアントを作成する

左側のメニューから APIとサービス>OAuth 同意画面 へと進みます。

左側のメニューの順番は人によって異なるので、見当たらない場合は「すべてのプロダクトを表示」して探してね。

プロジェクトで初めてOAuth同意画面を作る場合は、まずアプリ情報を設定します。

アプリ名(お好みで) = claude_bigquery_connector

ユーザーサポートメール = プルダウンで選択

対象は 内部 を選択して次へ。

連絡先情報は、あなたのメールアドレスでOKです。

最後にGoogle APIサービス・ユーザーデータに関するポリシーを確認して、同意チェックを入れて作成します。

これでアプリの下準備が整いました。続いてクライアントを作成していきます。

左側のクライアントのページに移動し、「クライアントを作成」をクリックします。

ここでOAuth クライント IDを作成します。

アプリケーションの種類 = ウェブ アプリケーション

名前(自分のお好みでOK) = claude_bigquery_connector

承認済みのリダイレクト URI = https://claude.ai/api/mcp/auth_callback

上記を設定したら「作成」をクリック。

クライアント ID、クライアント シークレットが表示されるので、メモっておきます。

誰にも見せちゃダメだよ?

これでOAuth同意画面の作成は完了です。

それではいよいよClaudeからBigQueryに連携しましょう。準備が長い!

4.CloudeからBigQueryに接続する

ここからClaudeのアプリでの作業になります。

まず左側メニューの Customize をクリックして開きます。

カスタマイズ画面が表示されるので アプリを接続 をクリックします。

※このあたりの画面構成はClaudeのアプリがupdateされるたびに変更されるので、もしかしたらお手元の画面と相違があるかもしれません。とりあえずコネクタへ進んでください。

コネクタ画面になったらGoogle Cloud BigQueryを探して、クリックします。

数が多いのでbigで検索すると早いです。

このあと上記で作成したクライアント ID、クライアント シークレットが必要になるので準備してください。

連携/連携させる をクリックします。とても重要なので2回言っているんだと思います。たぶん。しらんけど。

先ほど作成したクライアント ID、クライアント シークレットを設定して接続します。

このようなアカウントを選択してGoogleでログインする画面が表示されるので、Googleアカウントでログインします。

コネクタ一覧にGoogle Cloud BigQueryが表示されたら接続完了です! おつかれさまでした!

では、実際にClaudeからBigQuery内のデータが見えているか、テストしてみましょう。

5.実際にClaudeでBIgQuery内のデータを見てみる

まずBigQueryが見えているかどうか、Claudeに聞いてみます。

ちゃんと見えていますね!

質問には具体的なプロジェクトIDやデータセット情報を含めなかったので、公開データにアクセスして接続を確認したようです。かしこい!

では、具体的なテーブルを指定して聞いてみましょう。

特定のテーブルIDを↓の形式で指定して、フィールド名の一覧を確認させたところ、正しくフィールド一覧が取得できました。

プロジェクトID.データセットID.テーブルID

それでは簡単な集計をさせてみましょう。通常、人間がSQLを書いて集計するような処理です。

接続したデータセットはGoogleサーチコンソールのデータだったので「最新の日付のデータを対象に、表示回数が多いキーワードを10こリストアップしてください」という普通の日本語で指示してみました。

Claudeの「クエリを実行します」という回答のあと、キーワードが10こ表示されました。

表示回数、クリック数、平均順位も出してくれています。

どのようなSQLを実行したのか、見せてもらいましょう。

SQLも正しくできていますね。

今回はまだ簡単な集計しか実行していませんが、今後は複数のデータセットにまたがる複雑な分析なども試してみたいです。

以上、ClaudeをBigQueryに接続する方法の解説でした。

レポサブではAIを活用したデータ分析やAIによる業務フローの改善をサポートしております。お気軽にお問い合わせください。