Googleアカウントで認証して、Claudeのカスタムコネクタから自作MCPへ接続してみた

Googleアカウントで認証して、Claudeのカスタムコネクタから自作MCPへ接続してみた

Claudeのカスタムコネクタから、Amazon Bedrock AgentCore Gateway上の自作MCPサーバーに、Googleアカウントで認証して接続しします。普段使っているGoogleアカウントでログインしてツールを使えることを検証します。
2026.11.13

はじめに

クラスメソッドテクノロジーズの武蔵です。

今年こそはちゃんと予定を立てて紅葉を見に行きたいなと思っている今日この頃です。

おすすめのスポットがあれば教えて下さい!

今回の検証

前回の記事では、Claudeのカスタムコネクタから、Amazon Bedrock AgentCore Gateway(以下、AgentCore Gateway)上の自作MCPサーバーに接続しました。

ログインには、Amazon Cognito(以下、Cognito)のユーザープールに作成したメールアドレスとパスワードを使っていました。この方法では、利用者ごとにCognitoのユーザーを作成する必要があり、利用者も普段とは別のパスワードを管理することになります。

Cognitoのユーザーでログインする場合

そこで今回は、CognitoにGoogleをIDプロバイダーとして追加し、普段使っているGoogleアカウントでカスタムコネクタにログインできるようにします。

Googleアカウントでログインする場合

目標

今回は、CognitoのログインページからGoogleアカウントでログインし、カスタムコネクタからMCPのツールを使用した会話ができるかを検証します。

処理の流れ

Googleアカウントでログインする流れ

  1. ClaudeがMCPサーバーURLにアクセスし、AgentCore Gatewayから401と保護リソースメタデータのURLが返る。
  2. ブラウザでCognitoのログインページが開き、「Sign in with Google」を押す。
  3. Googleのログイン画面に移り、Googleアカウントでログインする。
  4. Googleから https://<Cognitoドメイン>/oauth2/idpresponse に認可コードが返り、CognitoがGoogleのユーザー情報を受け取る。
  5. Cognitoから https://claude.ai/api/mcp/auth_callback に認可コードが返る。
  6. ClaudeがCognitoからトークンを取得し、以降のAgentCore Gatewayの呼び出しに付ける。

Googleとやり取りするのはCognitoだけです。ClaudeとAgentCore Gatewayから見ると、前回と同じくCognitoが発行したトークンを使います。

現在の認証状況

前回の記事で、カスタムコネクタの認証を次のように設定しました。

https://dev.classmethod.jp/articles/claude-custom-connector-mcp-agentcore/

項目 前回 今回
ログイン方法 Cognitoのメールアドレスとパスワード Googleアカウント
ユーザーの作成 管理者がCognitoで作成 初回ログイン時にCognitoが作成
Cognitoのアプリクライアント saito-sandbox-connector 変更なし(IDプロバイダーにGoogleを追加)
AgentCore Gatewayのインバウンド認証 Cognitoが発行したトークンを検証 変更なし

AgentCore Gateway、ツールのLambda、Cognitoのリソースサーバーは前回のものをそのまま使います。

Googleアカウントでログインできるようにする

Google Cloudでブランディング、対象、データアクセス、OAuthクライアントの順に設定し、その後Cognitoを設定し、Claudeで再接続しました。

Google Cloudでブランディングを設定する

Google Cloudコンソールでプロジェクトを選び、「Google Auth Platform」→「ブランディング」を開きます。

項目 設定値
アプリ名 saito-sandbox
ユーザーサポートメール 自分のメールアドレス
承認済みドメイン amazoncognito.com
デベロッパーの連絡先情報 自分のメールアドレス

アプリ名は、Googleのログイン画面に表示されます。

Google Auth Platformのブランディング設定

承認済みドメインとデベロッパーの連絡先情報

Google Cloudで対象を設定する

「Google Auth Platform」→「対象」で、ユーザーの種類を「内部」にしました。公式ドキュメントによると、内部にすると、Google Cloudのプロジェクトが属する組織のGoogleアカウントだけがログインできます。

https://support.google.com/cloud/answer/15549945

Google Auth Platformの対象の設定

Google Cloudでデータアクセスを設定する

「Google Auth Platform」→「データアクセス」→「スコープを追加または削除」から、次の3つのスコープを追加しました。

スコープ 内容
openid Googleアカウントとの関連付け
.../auth/userinfo.email メールアドレスの参照
.../auth/userinfo.profile 名前などの個人情報の参照

データアクセスでスコープを選択

いずれも非機密のスコープに分類されます。

データアクセスに追加したスコープ

Google CloudでOAuthクライアントを作成する

「Google Auth Platform」→「クライアント」→「クライアントを作成」で、次の内容で作成しました。

項目 設定値
アプリケーションの種類 ウェブ アプリケーション
名前 saito-sandbox-cognito
承認済みの JavaScript 生成元 https://<Cognitoドメイン>
承認済みのリダイレクト URI https://<Cognitoドメイン>/oauth2/idpresponse

Cognitoドメインは、Cognitoのユーザープールの「ブランディング」→「ドメイン」で確認できます。

OAuthクライアントの作成

作成後に表示されるクライアントIDとクライアントシークレットを控えます。クライアントシークレットは後から表示やダウンロードができないため、作成時に控えておきます。

CognitoにGoogleのIDプロバイダーを追加する

ユーザープール →「ソーシャルプロバイダーと外部プロバイダー」→「アイデンティティプロバイダーを追加」を押します。

Cognitoのソーシャルプロバイダーと外部プロバイダー

「Google」を選び、Google Cloudで控えたクライアントIDとクライアントシークレットを入力します。

CognitoにGoogleのIDプロバイダーを追加

許可されたスコープと属性のマッピングは、次のとおりです。

項目 設定値
許可されたスコープ profile email openid
属性のマッピング email → email、email_verified → email_verified、name → name

email はユーザープールの必須属性のため、最初からマッピングされています。

Googleのスコープと属性のマッピング

アプリクライアントでGoogleを有効にする

アプリケーションクライアント → saito-sandbox-connector → ログインページ →「編集」で、IDプロバイダーに「Google」を追加しました。

項目 設定値
ID プロバイダー Cognito ユーザープール、Google

コールバックURL、OAuth 2.0 許可タイプ、OpenID Connectのスコープ、カスタムスコープは、前回の設定のまま変更していません。「Cognito ユーザープール」も残しているため、前回のメールアドレスとパスワードでもログインできます。

アプリクライアントのIDプロバイダーにGoogleを追加

Claudeでコネクタを再接続する

前回のログイン情報が残っているため、いったんコネクタを切断してから接続し直します。

Claudeの「設定」→「コネクタ」→ saito-sandbox で「切断する」を押します。

同じコネクタの「連携/連携させる」を押すと、ブラウザが開きます。「コネクタの接続を完了しますか?」と表示されるので、「接続を続行」を押します。

Cognitoのログインページに「Sign in with Google」が表示されるようになりました。こちらを押します。

CognitoのログインページにGoogleが表示

Googleのログイン画面に移り、ブランディングで設定したアプリ名 saito-sandbox が表示されます。ログインするGoogleアカウントを選びます。

Googleアカウントの選択

Claudeの画面に戻り、コネクタが接続済みになれば完了です。

検証

Googleアカウントでログインした状態で、カスタムコネクタを有効にしてClaudeに社内FAQについて質問します。今回はログイン方法の確認が目的のため、質問は1つのみとします。

リフレッシュ休暇について聞く

リフレッシュ休暇はいつもらえる?

リフレッシュ休暇について尋ねた結果

問題なくMCPサーバーに接続できています。

不要な設定の削除

Googleアカウントでログインできることを確認できたため、前回のメールアドレスとパスワードによるログインは不要になりました。残しておくと、Googleアカウント以外の方法でもログインできてしまうため、関係する設定を削除します。

対象 変更内容
アプリクライアントのIDプロバイダー 「Cognito ユーザープール」を外し、Googleのみにする
Cognitoのユーザー 前回作成したメールアドレスのユーザーを削除する

まとめ

CognitoにGoogleをIDプロバイダーとして追加することで、Googleアカウントでカスタムコネクタにログインできました。
Cognitoのユーザーを事前に作成する必要がなく、利用者も普段使っているGoogleアカウントでログインできるため、今回は私1人での確認ですが、社内で展開する際の手間を減らせると感じました。
一方で、今回の設定では、ログインできるGoogleアカウントであれば誰でも同じツールを使えます。実運用では、ユーザーごとに使えるツールや見られるデータを制御する仕組みも合わせて検討が必要です。


Claudeならクラスメソッドにお任せください

クラスメソッドは、Anthropic社とリセラー契約を締結しています。各種製品ガイドから、業種別の活用法、フェーズごとのお悩み解決などサービス支援ページにまとめております。まずはご覧いただき、お気軽にご相談ください。

サービス詳細を見る

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事