0.0.2 • Published 7 months ago

@ca-ai-ope/mcp-bigquery-server v0.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

BigQuery MCP Server

概要

BigQuery MCP Serverは、LLMがBigQueryデータに直接アクセスするためのサーバーです。 MCPを使用して、AIアシスタントとデータベース間の安全で効率的な通信を実現します。

機能

  • 自然言語でのクエリ実行(SQLを手動で書く必要なし)
  • データセット内のテーブルとマテリアライズドビューへのアクセス
  • データセットスキーマの探索(テーブルとビューの明確なラベル付け)
  • 安全な制限内でのデータ分析(デフォルトで1GBのクエリ制限)
  • データの安全性確保(読み取り専用アクセス)

セキュリティ機能

このサーバーには以下のセキュリティ機能が実装されています:

  1. 読み取り専用クエリの強制

    • データ変更操作(INSERT、UPDATE、DELETE、CREATE、DROP、ALTER等)は禁止
    • クエリ実行前に自動的に検証
  2. クエリサイズ制限

    • デフォルトで1GBの処理制限
    • 過大なリソース消費を防止
  3. エラー処理

    • 適切なエラーメッセージと例外処理
    • セキュリティ関連の問題を明確に報告

使用方法

前提条件

  • Node.js 14以上
  • BigQueryが有効なGoogle Cloudプロジェクト
  • Google Cloud CLIまたはサービスアカウントキーファイル

セットアップ

  1. Google Cloudで認証する(以下のいずれかで実行) gcloud CLI は必要(https://cloud.google.com/sdk/docs/install?hl=ja)
  • チャット欄で「Google認証して」と書く
  • Google Cloud CLIを使用  - gcloud cliで gcloud auth application-default login を実行
  1. 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"
            ]
          }
        }
      }
  2. チャットを開始! MCPクライアント(Cursor,ClaudeDesktopなど)を開き、データについての質問を始めましょう。

コマンドライン引数

サーバーは以下の引数を受け付けます:

  • --project-id:(必須)Google CloudプロジェクトID
  • --location:(オプション)BigQueryのロケーション、デフォルトは'us-central1'

必要な権限

以下のいずれかが必要です:

  • roles/bigquery.user(推奨)
  • または以下の両方:
    • roles/bigquery.dataViewer
    • roles/bigquery.jobUser

開発者向けセットアップ(オプション)

カスタマイズする場合は、以下の手順でローカルにセットアップできます:

# クローンとインストール
git clone https://github.com/ca-ai-ope/mcps
cd mcps/bigQuery
npm install

# ビルド
npm run build

現在の制限

  • MCPサポートは現在Claude Desktop(開発者プレビュー)でのみ利用可能
  • 接続は同じマシン上で実行されるローカルMCPサーバーに限定
  • クエリは読み取り専用で1GBの処理制限あり
  • テーブルとビューの両方がサポートされていますが、一部の複雑なビュータイプには制限がある場合があります
0.0.2

7 months ago

0.0.1

7 months ago