AI
2025/06/11
清水 侑吾

ClaudeとBigQueryを接続してみた!Node.jsとMCPで自然言語分析を実現

この記事では、AIアシスタント「Claude」とGoogle Cloudのデータウェアハウス「BigQuery」を、MCP(Multi-Connection Plugin)を使って接続し、自然言語でデータ分析ができる環境を構築する手順を解説します。

ClaudeとBigQueryを組み合わせるメリットとは?

Claude(Anthropic社製のAI)は、ChatGPTに似た自然言語処理モデルですが、安全性やコンテキスト保持力の高さが特徴です。これをBigQueryと接続することで、SQLを手で書かずに自然言語でデータを抽出・分析できるようになります。

全体構成

・Claude(Claude 3 Opusなど、Enterprise対応版)


・Google Cloud Platform(BigQuery)


・MCP(Claudeの外部データ接続機能)


・Node.js(ローカルでキーなどを扱う補助的な用途)




MCP(Multi-Connection Plugin)とは、Claudeが外部のデータソース(たとえばBigQueryなど)と安全に接続し、自然言語での指示を通じてデータの取得や分析を可能にする仕組みのこと。



  • 今回はClaudeとGoogle BigQueryをMCP(Multi-Connection Plugin)を使って接続し、自然言語でのデータ分析環境を構築することを目的とする。

Claude desktop のインストール


まず、Claudeのデスクトップアプリケーションをダウンロードします。(MCPではクロードのWebアプリケーションはアプリケーションは対応してないため、アプリケーションをダウンロードする必要があります。)


※追記:現在はClaudeのWeb版でも、Model Context Protocol(MCP)連携が利用可能になったようです!

Node.jsのダウンロード

次に、ローカルで環境を整えるために、Node.js公式サイトから最新版をインストールします。

パスの設定とキーの取得(BigQuery)

BigQueryに接続するためには、サービスアカウントキー(JSON形式)が必要です。


手順:



  • ・GCPコンソールからプロジェクトを選択

  • ・IAMと管理 → サービスアカウント

  • ・新しいキーを作成し、JSONファイルをローカルに保存


保存したキーのパスを、環境変数などで指定できるようにしておくと便利です。

接続プロジェクトとロケーションの設定

ClaudeでBigQueryに接続する際には、プロジェクトIDロケーションが重要です。



  • ・プロジェクトID:GCPコンソールのダッシュボードから確認可能

  • ・ロケーション:BigQueryのスタジオ内のデータセット情報の中のデータのロケーション設定(us-central1 や asia-northeast1 など )

権限の付与

BigQueryの「IAMと管理 / IAM / プリンシパルより編集」よりロールの編集し以下の権限を付与します。



  • ・BigQueryユーザー

  • ・BigQueryデータ閲覧者

  • ・BigQueryジョブユーザー

MCPでの接続設定

Claudeの「設定/ 開発者 / 構成を編集」からclaude_desktop_config.jsonを選択



  1. サービスアカウントキー(JSON)をアップロード

  2. プロジェクトIDとロケーション(例:us-central1)を指定


MCPサーバーの設定(JSON)


実際に使った設定ファイルがこちらです



このJSONは、ローカルでMCPサーバーを立ち上げるための設定です。




  • <変更点>


    ・your-project-id:プロジェクトID


    ・us-central1:ロケーション


     



    ・/home/username/credentials/my-service-account.json:保存したサービスアカウントキーjsonファイルのパス


  • 再起動後、「設定画面 / 開発者」の画面で runnnig となっていればMCPサーバーとの接続は成功です。




実際にClaudeで聞いてみた

接続が完了したら、Claudeに自然言語で質問してみましょう。


例:



  • 「最近一ヶ月のECサイトの売上を示して」

  • 「カテゴリ別の売上をグラフ化して」



このように、ClaudeがSQLを自動生成して、結果をテーブルやチャートで可視化してくれます。

まとめ

ClaudeとBigQueryを連携させることで、以下のようなメリットが得られます。



  • ・SQLを書くことなくデータ分析ができる

  • ・AIによる表示や解釈の自動化

  • ・GCPのロール制御を使った安定した接続


Node.jsなどの基本的な環境を整えれば、スムーズに接続できるので、ぜひ一度試してみてください!

参考

New call-to-action