Claude Desktop と BigQuery を MCP サーバーで接続してみる(Mac 編)
こんにちは 📻
株式会社 Tsuzucle SPRING 開発事業部にフリーランスインフラエンジニアとして参画している はらしゅん です。
今回は Claude Desktop から、BigQuery に自然言語でデータ解析リクエストする方法について、
『 ClaudeとBigQueryをMCPサーバーで接続してみる | DevelopersIO 』
を参考に、非エンジニア向けの方でもセットアップできるように、詳細な手順を書いてみたいと思います。
本記事は Mac の方向けとなります。
(※ Windows の方向けには こちら「Claude Desktop と BigQuery を MCP サーバーで接続してみる(Windows 編)」)
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」でリポジトリをダウンロードしました。
/Users/{ユーザ名}/Documents/GitHub/mcp-bigquery-server
にリポジトリがダウンロードされました。
※ ちなみに Github Desktop は こちら からダウンロードできます
Node のインストール
Node Version Manager (NVM)
NVM は、複数の Node.js バージョンを簡単に管理できるツールです。
NVM のインストール手順
ターミナルで以下のコマンドを実行して NVM をインストールします(curlまたはwgetを使用)。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
または
$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
インストール後、以下のコマンドで NVM を有効化します(ターミナル再起動でも可)
$ export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
正常にインストールされたか確認するには
$ nvm --version
NVM で Node.js を管理する方法
利用可能な Node.js バージョン一覧を表示
$ nvm ls-remote
特定のバージョンをインストール
$ 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] > [設定] をクリック
[開発者] > [構成を編集] をクリック
claude_desktop_config.json
の場所が Finder で開くので、
エディタで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 リポジトリは、
/Users/{ユーザ名}/Documents/GitHub/mcp-bigquery-server
にダウンロード - サービスアカウントキーは、ダウンロードフォルダ(
/Users/{ユーザ名}/Downloads
)にある
そのため、以下のように書き換えた。
{
"mcpServers": {
"bigquery": {
"command": "npx",
"args": [
"-y",
"/Users/{ユーザ名}/Documents/GitHub/mcp-bigquery-server",
"--project-id",
"{接続したい BQ のあるプロジェクト ID}",
"--location",
"asia-northeast1",
"--key-file",
"/Users/{ユーザ名}/Downloads/{生成したサービスアカウントキー}.json"
]
}
}
}
Claude を一旦終了する
npm install && npm run build
/Users/{ユーザ名}/Documents/GitHub/mcp-bigquery-server にて、
$ npm install && npm run build
を実行
% npm install && npm run build
> @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 3s
13 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
> @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 を再度起動させるとフォルダへの許可を求められる。
[Claude] > [設定] > [開発者] を見てみる
bigquery という項目が出現しており、running
というステータスになっていれば OK。
いま接続している GCP プロジェクトを質問してみた。
許可を求められるので許可。
クエリ失敗した質問もあるようですが、
最終的には、実行に成功し、接続中のプロジェクト名を正しく返却しました。
プロジェクト内にある、データセットもリストアップお願いしてみました。
成功しました。
サンプルとして用意したデータセット「ncaa_basketball」のテーブル一覧とその中身の概要を教えてと依頼してみました。
テーブルとその中身について、説明し始めてくれました。
大学の偏差値と、バスケットの成績は正の相関があるか、質問してみました。
他のデータにあたりながら、分析してくれました。
以上になります🙋♂️
Discussion