0.0.2 • Published 7 months ago
@ca-ai-ope/mcp-bigquery-server v0.0.2
BigQuery MCP Server
概要
BigQuery MCP Serverは、LLMがBigQueryデータに直接アクセスするためのサーバーです。 MCPを使用して、AIアシスタントとデータベース間の安全で効率的な通信を実現します。
機能
- 自然言語でのクエリ実行(SQLを手動で書く必要なし)
- データセット内のテーブルとマテリアライズドビューへのアクセス
- データセットスキーマの探索(テーブルとビューの明確なラベル付け)
- 安全な制限内でのデータ分析(デフォルトで1GBのクエリ制限)
- データの安全性確保(読み取り専用アクセス)
セキュリティ機能
このサーバーには以下のセキュリティ機能が実装されています:
読み取り専用クエリの強制:
- データ変更操作(INSERT、UPDATE、DELETE、CREATE、DROP、ALTER等)は禁止
- クエリ実行前に自動的に検証
クエリサイズ制限:
- デフォルトで1GBの処理制限
- 過大なリソース消費を防止
エラー処理:
- 適切なエラーメッセージと例外処理
- セキュリティ関連の問題を明確に報告
使用方法
前提条件
- Node.js 14以上
- BigQueryが有効なGoogle Cloudプロジェクト
- Google Cloud CLIまたはサービスアカウントキーファイル
セットアップ
- Google Cloudで認証する(以下のいずれかで実行) gcloud CLI は必要(https://cloud.google.com/sdk/docs/install?hl=ja)
- チャット欄で「Google認証して」と書く
- Google Cloud CLIを使用
- gcloud cliで
gcloud auth application-default loginを実行
Claude Desktopの設定に追加
claude_desktop_config.jsonに以下を追加:- 基本設定:
{ "mcpServers": { "bigquery": { "command": "npx", "args": [ "-y", "@ca-ai-ope/mcp-bigquery-server", "--project-id", "your-project-id", "--location", "asia-northeast1" ] } } }
- 基本設定:
チャットを開始! MCPクライアント(Cursor,ClaudeDesktopなど)を開き、データについての質問を始めましょう。
コマンドライン引数
サーバーは以下の引数を受け付けます:
--project-id:(必須)Google CloudプロジェクトID--location:(オプション)BigQueryのロケーション、デフォルトは'us-central1'
必要な権限
以下のいずれかが必要です:
roles/bigquery.user(推奨)- または以下の両方:
roles/bigquery.dataViewerroles/bigquery.jobUser
開発者向けセットアップ(オプション)
カスタマイズする場合は、以下の手順でローカルにセットアップできます:
# クローンとインストール
git clone https://github.com/ca-ai-ope/mcps
cd mcps/bigQuery
npm install
# ビルド
npm run build現在の制限
- MCPサポートは現在Claude Desktop(開発者プレビュー)でのみ利用可能
- 接続は同じマシン上で実行されるローカルMCPサーバーに限定
- クエリは読み取り専用で1GBの処理制限あり
- テーブルとビューの両方がサポートされていますが、一部の複雑なビュータイプには制限がある場合があります