Google Cloud MCPサーバをClaudeから利用する

Google Cloud MCPサーバをClaudeから利用する

2025.12.22

はじめに

こんにちは。
クラウド事業本部コンサルティング部の渡邉です。

クラスメソッドのGoogle Cloud大好きエンジニア達で絶賛盛り上げ中のクラスメソッド Google Cloud Advent Calendar 2025 - Adventarの18日目を担当させていただきます!!

2025年12月11日に、Google CloudリモートMCPサーバがPreviewでリリースされました。

https://cloud.google.com/blog/products/ai-machine-learning/announcing-official-mcp-support-for-google-services/?hl=en

今回は、Claude.aiに、Google CloudリモートMCPサーバを利用することができる設定を行い、Claude.aiから自然言語で、BigQueryの操作を行っていきたいと思います。

MCPサーバとは

MCPサーバは、サービスの機能(APIやデータベースなど)をAIアプリケーションに標準化されたインターフェースで提供するプログラムです。Model Context Protocol(MCP)はAnthropicが開発したオープンソースプロトコルで、AIアプリケーションと外部データソースの接続方法を標準化します。これにより、異なるAIツール間でも統一された方法でサービスにアクセスすることができます。
MCPは3つの主要コンポーネントで構成されます

  • MCPサーバ(機能を提供)
  • MCPホスト(Claude、VS Code、Gemini CLIなどのAIアプリケーション本体)
  • MCPクライアント(ホストとサーバ間の通信を処理するソフトウェアコンポーネント)

この標準化により、開発者は一度MCPサーバを構築すれば、対応するすべてのAIアプリケーションから利用可能になります。従来はAIツールごとに個別の統合が必要でしたが、MCPによりその手間が大幅に削減されます。

ローカルMCPサーバとリモートMCPサーバ

ローカルMCPサーバはユーザーのローカルマシン上で実行され、標準入出力(stdio)を通じて同一デバイス内のサービス間通信を行います。リモートMCPサーバはサービス提供者のインフラストラクチャ上で実行され、HTTPエンドポイントを通じてAIアプリケーションと通信します。
リモート版はローカル環境構築が不要で、より簡単に利用開始できます。ローカルMCPサーバはオフライン環境でも動作し、ローカルファイルやデータベースへの直接アクセスに適しています。一方、リモートMCPサーバはネットワーク経由でアクセスするため、複数ユーザーでの共有利用やクラウドサービスとの連携に向いています。リモートMCPサーバはサービス提供者側で認証・認可やセキュリティ対策を一元管理できるため、エンタープライズ環境での運用に適しています。

GoogleリモートMCPサーバ

Google CloudのリモートMCPサーバは、MCP検出機能により有効化後すぐにツール一覧を自動検出できます。Google認証情報による認証・認可をサポートし、MCP認可仕様に準拠したセキュアなアクセスを提供します。IAMによるきめ細かいアクセス制御で、リソースへの権限を精密に管理できます。また、Model Armorによるプロンプト注入やデータ漏洩からの保護機能も備えており、プロンプトとレスポンスをスキャンしてセキュリティリスクから防御します。組織ポリシー機能により、組織・フォルダ・プロジェクト単位でMCPサーバの利用を制御できます。

サポートされているMCPサーバ

現状リモートMCPサーバ経由としてアクセスすることができるGoogle Cloudサービス、およびGoogleサービスとしては、以下があります。

Google Cloud MCPサーバ

  • BigQuery
  • Compute Engine
  • GKE

Google MCPサーバ

  • Maps Grounding Lite

https://docs.cloud.google.com/mcp/supported-products

現状はまだ4サービスのみしかサポートされていないですが、今後は以下のサービスを含む追加サービスへのMCPサポートを展開予定になっています。

  • プロジェクト、コンピューティング、ストレージ: Cloud Run、Cloud Storage、Cloud Resource Manager
  • データベースと分析: AlloyDB, Cloud SQL, Spanner, Looker, Pub/Sub, Dataplex Universal Catalog
  • セキュリティ: Google Security Operations (SecOps)
  • クラウドオペレーション:Cloud Logging、Cloud Monitoring
  • Google サービス: Developer Knowledge API、Android Management API

やってみた

Google CloudプロジェクトでBigQuery MCPサーバを有効化する

次のコマンドを実行して、自身のGoogle CloudプロジェクトでBigQuery MCPサーバを有効化します。

gcloud beta services mcp enable bigquery.googleapis.com \
    --project=my-project

サポートしているMCPサーバは以下の公式ドキュメントから確認することができます。
https://docs.cloud.google.com/mcp/supported-products

プロジェクトで有効化されているMCPサーバは、以下のコマンドで取得することができます。

$ gcloud beta services mcp list --enabled
NAME: services/bigquery.googleapis.com
MCP_ENDPOINT: bigquery.googleapis.com/mcp

OAuth 2.0クライアントIDとシークレットの作成

Claude.aiからGoogle CloudリモートMCPサーバを利用するためには、OAuthクライアントIDとOAuthクライアントシークレットを使用してカスタムコネクタを構成する必要があります。

  • Google Cloudコンソールから、 [Google Auth Platform] → [クライアント] → [クライアントの作成]をクリックします。

alt text

  • [アプリケーションの種類]リストで、[ウェブアプリケーション]
  • 「名前」フィールドに、アプリケーションの名前
  • 「承認済みリダイレクト URI」に[https://claude.ai/api/mcp/auth_callback]

を入力し、[作成]をクリックします。

alt text

作成したOAuth 2.0 クライアントから、クライアントシークレットをコピーして、安全な場所に保存してください。

alt text

Claude.aiのカスタムコネクタの作成

Claude.aiでカスタムコネクタを作成していきます。

  • [設定] → [コネクタ] → [カスタムコネクタを追加]をクリックします。

alt text

  • 以下の情報を入力し、[追加]をクリックします。
    • サーバ名:BigQueryリモートMCPサーバ
    • リモートMCPサーバーURL:https://bigquery.googleapis.com/mcp
    • OAuthクライアントID:作成したOAuth2.0クライアントID
    • OAuthクライアントシークレット:作成したOAuth2.0クライアントシークレット

alt text

  • カスタムコネクタの追加が完了したら、[連携・連携させる]をクリックします。
    alt text

  • Google認証が行われるので、自身のGoogleアカウントをクリックします。
    alt text

  • BigQuery MCPサーバの利用を許可します。
    alt text

  • ここまでの作業を実施すると、カスタムコネクタにBigQueryリモートMCPサーバが追加されている状態になります。
    alt text

サンプルデータセットとテーブルデータの作成

以下のSQLを実行し、BigQueryにデータセットとテーブルデータ(従業員テーブルと売上テーブル)を作成していきます。

  -- データセットの作成
  CREATE SCHEMA IF NOT EXISTS sample_dataset
  OPTIONS (
    location = 'US'
  );

  -- 従業員テーブル
  CREATE TABLE IF NOT EXISTS sample_dataset.employees (
    employee_id INT64,
    name STRING,
    department STRING,
    salary INT64,
    hire_date DATE
  );

  INSERT INTO sample_dataset.employees VALUES
    (1, '田中太郎', '営業', 450000, '2020-04-01'),
    (2, '鈴木花子', 'エンジニアリング', 550000, '2019-08-15'),
    (3, '佐藤一郎', 'マーケティング', 480000, '2021-01-10'),
    (4, '山田美咲', 'エンジニアリング', 520000, '2020-11-01'),
    (5, '高橋健一', '営業', 470000, '2022-03-20');

  -- 売上テーブル
  CREATE TABLE IF NOT EXISTS sample_dataset.sales (
    sale_id INT64,
    employee_id INT64,
    product_name STRING,
    amount INT64,
    sale_date DATE
  );

  INSERT INTO sample_dataset.sales VALUES
    (1, 1, '製品A', 150000, '2024-01-15'),
    (2, 1, '製品B', 80000, '2024-01-20'),
    (3, 3, '製品A', 200000, '2024-02-01'),
    (4, 5, '製品C', 120000, '2024-02-10'),
    (5, 1, '製品B', 95000, '2024-02-15'),
    (6, 5, '製品A', 180000, '2024-03-01');

Claude.aiからMCPサーバを利用してBigQueryへ問い合わせしてみる

Claude.aiからカスタムコネクタで設定した、BigQueryリモートMCPサーバを利用して自然言語でBigQueryにクエリを実行してみたいと思います。

まずは、「BigQuery MCPサーバを利用して、自身のプロジェクト内に存在するデータセットの数を教えて」と問い合わせてみました。
すると、プロジェクトIDの確認が行われた後に、プロジェクト内に存在するデータセットの名前を取得することができました。
alt text

次に、「データセット内に存在するテーブル数を教えて」と問い合わせてみました。
すると、プロジェクトIDとデータセット名の確認が行われた後に、テーブルの名前を取得することができました。

alt text

次に、「部署別の平均給与を求めて」と問い合わせてみました。
すると、以下のSQLの実行計画の確認が行われた後に、実際にSQLが実行され、部署別の平均給与を取得することができました。

{
  `query`: `SELECT department, AVG(salary) AS average_salary FROM `xxxxxxxxxxx.sample_dataset.employees` GROUP BY department ORDER BY average_salary DESC`,
  `projectId`: `xxxxxxxxxxx`
}

alt text

次に、「従業員別の売上合計を求めて」と問い合わせてみました。
すると、先ほどと同様に、以下のSQLの実行計画の確認が行われた後に、実際にSQLが実行され、従業員別の売上合計を取得することができました。

{
  `query`: `SELECT e.employee_id, e.name, SUM(s.amount) AS total_sales FROM `xxxxxxxxxxx.sample_dataset.employees` e LEFT JOIN `xxxxxxxxxxx.sample_dataset.sales` s ON e.employee_id = s.employee_id GROUP BY e.employee_id, e.name ORDER BY total_sales DESC`,
  `projectId`: `xxxxxxxxxxx`
}

alt text

さいごに

今回は、2025年12月11日にPreviewでリリースされたGoogle CloudリモートMCPサーバについて解説とClaude.aiからのBigQueryへ自然言語でアクセスする検証を行ってみました。

BigQueryを自然言語で操作する方法は今回のリモートMCPサーバ以外にも、Gemini in BigQueryやGemini Enterpriseなど多数の方法があります。
それぞれの用途に合った正しい使い方や選択が求められるようになっていると思います。

現在Google CloudリモートMCPサーバは、4サービスとサポートしているサービスが少ないですが、個人的にはCloud LoggingやCloud Monitoringなどのオブザーバビリティ製品をサポートしてくれると自然言語によるトラブルシューティングができるため期待しています。

この記事が誰かの助けになれば幸いです。

以上、クラウド事業本部コンサルティング部の渡邉でした!

この記事をシェアする

FacebookHatena blogX

関連記事