
Claude Code から MCP Toolbox for Databases を使って自然言語で BigQuery を操作してみた
データ事業本部のはんざわです。
皆さんは MCP サーバー経由で BigQuery を操作できたらいいなと思ったことはありませんか?
Google Cloud は、執筆時点では公式の MCP サーバーを提供していませんが、公式ドキュメントではサードパーティ製の MCP Toolbox for Databases を使用する方法が紹介されています。
今回のブログでは、Claude Code から MCP Toolbox for Databases を使って自然言語で BigQuery を操作してみたいと思います。
動作環境
- OS:macOS Sequoia 15.5(Apple M1 / arm64)
- クライアント:Claude Code
- 対象サービス:BigQuery
MCP Toolbox for Databases とは?
MCP Toolbox for Databases は、Google が公開しているデータベース向けのオープンソース MCP サーバーです。接続や認証などの複雑な処理を代行することで、ツールの開発をより簡単に、迅速に、そして安全に行えるようにします。
今回は連携サービスに BigQuery を使いますが、他にも Cloud Spanner や Bigtable など様々なデータベースサービスにも対応しています。
試してみる
さっそく、Claude Code から MCP Toolbox for Databases を使って BigQuery を実際に操作してみます。
今回は、自前で MCP サーバーをホストするのではなく、プリビルドツールを使って操作してみます。
プリビルドツールとは?
MCP Toolbox for Databases には、それぞれのサービスごとにいくつかのプリビルドツールが提供されています。
BigQuery では以下のプリビルドツールが提供されています。
名称 | 概要 |
---|---|
bigquery-conversational-analytics |
自然言語でデータについて質問できる |
bigquery-execute-sql |
SQL を実行する |
bigquery-forecast |
時系列データを予測する |
bigquery-get-dataset-info |
データセットのメタデータを取得する |
bigquery-get-table-info |
テーブルのメタデータを取得する |
bigquery-list-dataset-ids |
データセットの一覧を表示する |
bigquery-list-table-ids |
テーブルの一覧を表示する |
bigquery-sql |
事前定義された SQL を実行する |
これらのツールは、MCP サーバーを自前で構築することなく、すぐに利用できます。
実際に使いながら確認してみましょう。
セットアップ
まず、Google Cloud にアクセスするための認証を行います。
ここでは、ユーザーアカウントを使用して認証します。
gcloud auth application-default login
認証に使用するアカウントが、操作対象の Google Cloud プロジェクトで BigQuery にアクセスできる権限を持っていることを確認してください。
続いて、作業用ディレクトリを作成し、そこに移動します。
mkdir mcp-bigquery
cd mcp-bigquery
次に、バイナリをダウンロードして実行権限を付与します。
curl -O https://storage.googleapis.com/genai-toolbox/v0.13.0/darwin/arm64/toolbox
chmod +x toolbox
最後に、正常にインストールできたか確認します。
./toolbox --version
> toolbox version 0.13.0+binary.darwin.arm64.1a6dfe8d37d0f42fb3fd3f75c50988534dbc1b85
正常にインストールできていることが確認できました。
Claude Code でツールを使うための設定
Claude Code でプリビルドツールを利用するための設定を行います。
作業ディレクトリに .mcp.json
という設定ファイルを配置し、以下の内容を記載します。
このファイルがすでに存在している場合は、BigQuery に関する設定を追記すれば OK です。
{
"mcpServers": {
"bigquery": {
"command": "./toolbox",
"args": ["--prebuilt", "bigquery", "--stdio"],
"env": {
"BIGQUERY_PROJECT": "<PROJECT_ID>",
"GOOGLE_CLOUD_PROJECT": "<PROJECT_ID>"
}
}
}
}
Claude Code で動作確認
ここまでの設定が完了したら、Claude Code を開いて BigQuery のツールが利用可能かどうかを確認してみましょう。
上記のキャプチャのとおり、利用可能なツールの一覧が表示されました。
今回は、BigQuery の公開データセット samples
を自分の環境にコピーしておきました。
まずは、このデータセットにどのようなテーブルが含まれているかを確認してみます。
ここでは bigquery-list-table-ids
ツールを使用します。
次に、samples
データセット内の gsod
テーブルに、どのようなデータが保存されているかを確認します。
この操作には bigquery-get-table-info
ツールを使います。
最後に、gsod
テーブルのデータを使って、year
ごとの件数を集計し、上位 5 件を取得するクエリを実行します。
ここでは bigquery-execute-sql
ツールを使用して、任意の SQL を実行しています。
クエリの内容が事前に表示されるので、内容を確認して問題がなければ実行させましょう。
期待通りの結果を得ることができました!
まとめ
今回は、Claude Code から MCP Toolbox for Databases を使って、自然言語で BigQuery を操作してみました。
事前に用意されているプリビルトツールを利用することで、自前で MCP サーバーを構築せずに、簡単に BigQuery を操作できます。
なお、MCP Toolbox では独自のツールを MCP サーバーにホストし、クライアント側から利用することも可能です。
プリビルトツールだけでは足りないという方は、ぜひこちらも試してみてください。
また、今回はあまり深掘りしませんでしたが、自然言語での操作には誤動作のリスクも伴います。
高コストなクエリを実行してしまったり、破壊的なクエリを実行してしまう可能性もゼロではありません。
こうした事故を防ぐためにもアカウントの権限を最小限にし、アクセス可能なプロジェクトやデータセットを制限しておくのが有効だと思います。
また、自然言語による操作では意図しないクエリが生成される可能性もあるため、実行前のクエリ確認や、必要に応じたレビューの仕組みも重要だと感じました。