Claude Desktop と BigQuery を MCP サーバーで接続してみる(Windows 編)
こんにちは 📻
株式会社 Tsuzucle SPRING 開発事業部にフリーランスインフラエンジニアとして参画している はらしゅん です。
今回は Claude Desktop から、BigQuery に自然言語でデータ解析リクエストする方法について、
『 ClaudeとBigQueryをMCPサーバーで接続してみる | DevelopersIO 』
を参考に、非エンジニア向けの方でもセットアップできるように、詳細な手順を書いてみたいと思います。
本記事は Windows の方向けとなります。
(※ Mac の方向けには こちら「Claude Desktop と BigQuery を MCP サーバーで接続してみる(Mac 編)」)
Claude Desktopのインストール
下記ダウンロードページからダウンロードします。
『 Download - Claude 』
(https://claude.ai/download )
アプリケーションを起動し、ログイン。
ログインできました。
Bigquery に接続する MCP サーバーのダウンロードとセットアップ
『 ergut/mcp-bigquery-server 』
(https://github.com/ergut/mcp-bigquery-server )
① 緑色の「Code」ボタンをクリック
② 「Open with Github Desktop」または、「Download ZIP」でリポジトリをダウンロード
私は今回は「Open with Github Desktop」でリポジトリをダウンロードしました。
C:\Users\{ユーザ名}\Documents\GitHub\mcp-bigquery-server
にリポジトリがダウンロードされました。
※ ちなみに Github Desktop は こちら からダウンロードできます
Node のインストール
Node Version Manager (NVM)
NVM は、複数の Node.js バージョンを簡単に管理できるツールです。
NVM のインストール手順
NVM for Windowsのインストール手順
- NVMのダウンロード
- NVM for Windows GitHub リポジトリにアクセス
-
最新リリースページから、
nvm-setup.exe
をダウンロード
- セットアップウィザードの実行
- ダウンロードした
nvm-setup.exe
ファイルをダブルクリックして実行 - インストーラーの指示に従い、ライセンス契約に同意し、インストールディレクトリを選択します(通常はデフォルト設定で問題ありません)
- インストール完了
- インストールが完了したら、「Finish」をクリック
- コマンドプロンプトまたはPowerShellを再起動して変更を適用
正常にインストールされたか確認するには
> nvm version
NVM で Node.js を管理する方法
利用可能な Node.js バージョン一覧を表示
> nvm list available
特定のバージョンをインストール
> nvm install <version>
# 例: nvm install 18
インストール済みバージョンの一覧表示
> nvm ls
使用する Node.js バージョンを切り替え
> nvm use <version>
# 例: nvm use 18
デフォルトバージョン設定
デフォルトで使用するNode.jsバージョンを設定するには
> nvm alias default <version>
# 例: nvm alias default 18
これにより、新しいターミナルセッションで自動的に指定したバージョンが使用されます。
私は、最新の LTS (Long Term Support/長期サポート) 版である v22.14.0
にしました。
GCP にて、サービスアカウントと、キーファイル鍵作成
『 IAM – IAM と管理 – Google Cloud コンソール 』
(https://console.cloud.google.com/iam-admin/iam )
にアクセスし、左ナビゲーションメニュー一覧より、
[IAMと管理] > [サービスアカウント] をクリック
サービスアカウントを作成
今回私は claude-mcp-server
という名前にしました。
「②このサービス アカウントにプロジェクトへのアクセスを許可する」
にて、
- BigQuery ユーザー
- BigQuery データ閲覧者
- BigQuery ジョブユーザー
を設定
「③ユーザーにこのサービス アカウントへのアクセスを許可」、には特に何も設定せず、
完了
作成されたサービスアカウントの「鍵を管理」をクリック
新しい鍵を作成
ローカル PC にダウンロード。
Claude Desktop(MCPクライアント)の設定
Claude Desktop 左上 [≡] > [ファイル] > [設定] をクリック
[開発者] > [構成を編集] をクリック
claude_desktop_config.json
の場所が エクスプローラー で開くので、
エディタでclaude_desktop_config.json
を開く
最初は何も書かれていない
お手本では以下のように書かれている。
{
"mcpServers": {
"bigquery": {
"command": "npx",
"args": [
"-y",
"@ergut/mcp-bigquery-server",
"--project-id",
"your-project-id",
"--location",
"us-central1",
"--key-file",
"/path/to/service-account-key.json"
]
}
}
}
今回の私の場合、
- mcp-bigquery-server リポジトリは、
C:\Users\{ユーザ名}\Documents\GitHub\mcp-bigquery-server
にダウンロード - サービスアカウントキーは、ダウンロードフォルダ(
C:\Users\{ユーザ名}\Downloads
)にある
そのため、以下のように書き換えた。
{
"mcpServers": {
"bigquery": {
"command": "npx",
"args": [
"-y",
"C:/Users/{ユーザ名}/Documents/GitHub/mcp-bigquery-server",
"--project-id",
"{接続したい BQ のあるプロジェクト ID}",
"--location",
"asia-northeast1",
"--key-file",
"C:/Users/{ユーザ名}/Downloads/{生成したサービスアカウントキー}.json"
]
}
}
}
Claude を一旦終了する
npm install && npm run build
/Users/{ユーザ名}/Documents/GitHub/mcp-bigquery-server にて、
> npm install
> npm run build
を実行
> npm install
> @ergut/mcp-bigquery-server@1.0.3 prepare
> npm run build
> @ergut/mcp-bigquery-server@1.0.3 build
> tsc
> @ergut/mcp-bigquery-server@1.0.3 postbuild
> shx chmod +x dist/index.js
added 95 packages, and audited 96 packages in 20s
13 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
npm notice
npm notice New major version of npm available! 10.9.2 -> 11.3.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.3.0
npm notice To update run: npm install -g npm@11.3.0
npm notice
> npm run build
> @ergut/mcp-bigquery-server@1.0.3 build
> tsc
> @ergut/mcp-bigquery-server@1.0.3 postbuild
> shx chmod +x dist/index.js
チャット経由でBigQueryに接続してみる
Claude Desktop 左上 [≡] > [ファイル] > [設定] > [開発者] を見てみる
bigquery という項目が出現しており、running
というステータスになっていれば OK。
いま接続している GCP プロジェクトを質問してみた。
許可を求められるので許可。
クエリ失敗した質問もあるようですが、
最終的には、実行に成功し、接続中のプロジェクト名を正しく返却しました。
プロジェクト内にある、データセットもリストアップお願いしてみました。
成功しました。
サンプルとして用意したデータセット「ncaa_basketball」のテーブル一覧とその中身の概要を教えてと依頼してみました。
テーブルとその中身について、説明し始めてくれました。
大学の偏差値と、バスケットの成績は正の相関があるか、質問してみました。
他のデータにあたりながら、分析してくれました。
以上になります🙋♂️
Discussion