hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Enables interaction with Google BigQuery to execute read-only SQL queries, list datasets and tables, inspect table schemas, retrieve sample data, and estimate query costs, allowing AI agents to analyze data stored in BigQuery.
BigQuery MCP サーバー
Google BigQuery にアクセスするためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、大規模言語モデル(LLM)は BigQuery データセットの構造を理解し、SQL クエリを実行できるようになります。
特徴
認証と接続管理
- アプリケーションデフォルト認証情報(ADC)またはサービスアカウントキーファイルをサポート
- 構成可能なプロジェクトIDと場所の設定
- 起動時の認証検証
ツール
- クエリ
- 読み取り専用(SELECT)BigQuery SQL クエリを実行する
- 設定可能な最大結果と課金バイト数
- SELECT以外のクエリを防ぐためのセキュリティチェック
- すべてのデータセットの一覧
- プロジェクト内のすべてのデータセットを一覧表示する
- データセットIDの配列を返します
- データセットを含むすべてのテーブルの一覧
- 特定のデータセット内のすべてのテーブルとそのスキーマを一覧表示する
- データセットIDパラメータが必要です
- テーブルID、スキーマ、時間パーティション情報、および説明を返します
- テーブル情報を取得する
- テーブル スキーマとサンプル データ (最大 20 行) を取得します。
- パーティションフィルターを使用したパーティションテーブルのサポート
- フィルターのないパーティションテーブルに対するクエリの警告
- ドライランクエリ
- クエリの有効性をチェックし、実行せずにコストを見積もる
- 処理サイズと推定コストを返します
セキュリティ機能
- SELECTクエリのみ許可されます(読み取り専用アクセス)
- 過剰なコストを防ぐために、クエリ処理のデフォルトの制限は 500 GB です。
- パーティションテーブルに対するパーティションフィルタの推奨事項
- 認証資格情報の安全な取り扱い
インストール
ローカルインストール
Dockerのインストール
Docker コンテナ内でサーバーを実行することもできます。
または Docker Compose を使用します:
MCP構成
このサーバーを MCP 対応 LLM で使用するには、MCP 構成に追加します。
サービス アカウント キー ファイルの代わりにアプリケーションのデフォルト認証情報を使用することもできます。
アプリケーションのデフォルト資格情報の設定
アプリケーションのデフォルト資格情報を使用して認証するには:
- Google Cloud SDK をまだインストールしていない場合はインストールします。Copy
- 認証コマンドを実行します。Copy
- 指示に従って、BigQuery プロジェクトにアクセスできる Google アカウントでログインします。
- 認証情報はローカルマシンに保存され、BigQuery MCP サーバーによって自動的に使用されます。
テスト
テストとデバッグにはインスペクターを使用できます。
使用法
ヘルパースクリプトの使用
付属のrun-server.sh
スクリプトを使用すると、一般的な構成でサーバーを簡単に起動できます。
手動実行
コンパイルされたバイナリを直接実行することもできます。
クライアントの例
サンプルの Node.js クライアントは、 examples
ディレクトリに含まれています。
コマンドラインオプション
--project-id
: Google Cloud プロジェクト ID (必須)--location
: BigQuery の場所 (デフォルト: asia-northeast1)--key-file
: サービス アカウント キー ファイルへのパス (オプション)--max-results
: 返される最大行数(デフォルト: 1000)--max-bytes-billed
: 処理する最大バイト数 (デフォルト: 5000000000000、500GB)
必要な権限
サービス アカウントまたはユーザー資格情報には、次のいずれかが必要です。
roles/bigquery.user
(推奨)
あるいは、これら両方:
roles/bigquery.dataViewer
(テーブルデータの読み取り用)roles/bigquery.jobUser
(クエリ実行用)
使用例
クエリツール
すべてのデータセットの一覧表示ツール
データセットツールですべてのテーブルを一覧表示する
テーブル情報取得ツール
ドライランクエリツール
エラー処理
サーバーは、次の詳細なエラー メッセージを提供します。
- 認証失敗
- 権限の問題
- 無効なクエリ
- パーティションフィルターがありません
- 過剰なデータ処理要求
コード構造
サーバーは次の構造で構成されます。
ライセンス
マサチューセッツ工科大学
This server cannot be installed
LLM が BigQuery データセット構造を理解し、SQL クエリを実行できるようにするモデル コンテキスト プロトコル サーバー。