ブログ記事で紹介されている Layer 3 のリモート MCP サーバーを、Claude.ai のカスタムコネクタから OAuth 2.1 認証付きで利用したいと考えています。現状、接続するためにはユーザー側でかなりの追加構築が必要です。
背景
Claude.ai の MCP コネクタは、接続時に以下の OAuth 2.1 フローを実行します(MCP Authorization Spec 2025-11-25 準拠):
/mcp に未認証リクエスト → 401 + WWW-Authenticate ヘッダー
GET /.well-known/oauth-protected-resource (RFC 9728) → 認可サーバー URL の取得
GET /.well-known/oauth-authorization-server (RFC 8414) → 認可/トークンエンドポイントの取得
- PKCE (S256) による Authorization Code フロー
現状のギャップ
Layer 3 の CDK デプロイで作成される Cognito User Pool は Layer 4 Web UI 向けの認証基盤であり、上記の MCP 仕様が要求するディスカバリーエンドポイントは提供されていません。
要素 | Cognito | AgentCore Gateway | CDKデプロイ
-- | -- | -- | --
/.well-known/oauth-protected-resource | ❌ | ✅(ただし authorization_servers が Gateway ドメインを指す) | ❌
/.well-known/oauth-authorization-server | ❌(OIDC Discovery のみ。code_challenge_methods_supported 欠落) | ❌(issue #1056) | ❌
401 WWW-Authenticate ヘッダー | ❌ | ✅ | ❌
Claude.ai 用アプリクライアント(公開 + PKCE) | ❌ | — | ❌
現状、Claude.ai から接続するには以下をユーザーが自前で構築する必要があります:
- Cognito に公開クライアント(PKCE 用、callback URL:
https://claude.ai/api/mcp/auth_callback)を追加
/.well-known/oauth-authorization-server を返す Lambda + HTTP API Gateway を構築(Cognito が code_challenge_methods_supported を返さないため)
/.well-known/oauth-protected-resource を返す Lambda(authorization_servers を統一ドメインに向けるため)
- CloudFront でパスルーティング(
/.well-known/* → ブリッジ、/mcp → Gateway)
提案
Layer 3 のデプロイに以下を追加していただけると、Claude.ai / Claude Desktop / Kiro などの外部 MCP クライアントからの接続が大幅に容易になります。
- Cognito に Claude.ai 用アプリクライアントを追加(CDK で自動作成)
- 公開クライアント(secret なし)
- Authorization Code + PKCE
- callback URL:
https://claude.ai/api/mcp/auth_callback, https://claude.com/api/mcp/auth_callback
/.well-known/oauth-authorization-server エンドポイントの追加
- API Gateway Mock Integration で十分(Lambda 不要)
code_challenge_methods_supported: ["S256"] を含める(Cognito の OIDC Discovery に欠落しているフィールド)
/.well-known/oauth-protected-resource エンドポイントの追加
- CDK Output に接続情報を出力
- MCP サーバー URL
- OAuth Client ID
- (これだけあれば Claude.ai の Advanced Settings で即接続可能)
想定される効果
Layer 3 を deploy.sh でデプロイするだけで、CDK Output に表示される URL と Client ID を Claude.ai に入力すれば接続完了、という体験になります。ブログ記事で紹介されている「モバイルから使える」というLayer 3 の価値が、Layer 4 を構築しなくても実現できるようになります。
環境
- Layer 3 デプロイ(ap-northeast-1)
- AgentCore Gateway 経由
- クライアント: Claude.ai Pro(デスクトップ + モバイル)
ブログ記事で紹介されている Layer 3 のリモート MCP サーバーを、Claude.ai のカスタムコネクタから OAuth 2.1 認証付きで利用したいと考えています。現状、接続するためにはユーザー側でかなりの追加構築が必要です。
背景
Claude.ai の MCP コネクタは、接続時に以下の OAuth 2.1 フローを実行します(MCP Authorization Spec 2025-11-25 準拠):
/mcpに未認証リクエスト →401+WWW-AuthenticateヘッダーGET /.well-known/oauth-protected-resource(RFC 9728) → 認可サーバー URL の取得GET /.well-known/oauth-authorization-server(RFC 8414) → 認可/トークンエンドポイントの取得現状のギャップ
Layer 3 の CDK デプロイで作成される Cognito User Pool は Layer 4 Web UI 向けの認証基盤であり、上記の MCP 仕様が要求するディスカバリーエンドポイントは提供されていません。
現状、Claude.ai から接続するには以下をユーザーが自前で構築する必要があります:
https://claude.ai/api/mcp/auth_callback)を追加/.well-known/oauth-authorization-serverを返す Lambda + HTTP API Gateway を構築(Cognito がcode_challenge_methods_supportedを返さないため)/.well-known/oauth-protected-resourceを返す Lambda(authorization_servers を統一ドメインに向けるため)/.well-known/*→ ブリッジ、/mcp→ Gateway)提案
Layer 3 のデプロイに以下を追加していただけると、Claude.ai / Claude Desktop / Kiro などの外部 MCP クライアントからの接続が大幅に容易になります。
https://claude.ai/api/mcp/auth_callback,https://claude.com/api/mcp/auth_callback/.well-known/oauth-authorization-serverエンドポイントの追加code_challenge_methods_supported: ["S256"]を含める(Cognito の OIDC Discovery に欠落しているフィールド)/.well-known/oauth-protected-resourceエンドポイントの追加想定される効果
Layer 3 を
deploy.shでデプロイするだけで、CDK Output に表示される URL と Client ID を Claude.ai に入力すれば接続完了、という体験になります。ブログ記事で紹介されている「モバイルから使える」というLayer 3 の価値が、Layer 4 を構築しなくても実現できるようになります。環境