できないと思い込んでたのですが、できました✌️
AWS公式や、やってみたブログも見た覚えがないので、需要がないのかもしれませんが、、😅
手順
1. Cognitoユーザープールを作成する
Cognitoユーザープールを新規作成します。ポイントは以下のとおりです。
-
アプリケーションタイプは「シングルページアプリケーション」を選択する。これによりクライアントシークレットが生成されない
-
サインイン識別子のオプションの「メールアドレス」にチェックを入れる。他のものでもいいですが、なにか一つ指定が必要です
-
リターンURLに
http://localhost:8080/callbackを指定する。Claude Codeがコールバックとして動作します
作成後、「OpenID Connect設定URL」と「クライアントID」をメモします。 φ(・・
2. Bedrockナレッジベースを作成する
AgentCoreゲートウェイのターゲットとして使用するBedrockナレッジベースを作成します。なんでもいいのでマネージドナレッジベースを作ります。(お好みで)
3. AgentCoreゲートウェイを作成する
ナレッジベースができたら、AgentCoreゲートウェイを作成します。
動線がしっかりしてまして、ナレッジベース作成後画面からAgentCoreゲートウェイを作成できます。すてき
インバウンド認証の設定を変更し、先程作成したCognitoを使用します。
OpenID Connect設定URLを検出URLに、クライアントIDをClintsに指定します。
ほかはデフォルトでOKです。
作成後、MCPサーバーのURLが発行されます。
4. Cognitoユーザープールにリソースサーバーを作成する
もうひと手間必要でして、Cognitoのユーザープールにリソースサーバーを作成します。(リソースサーバーって何?ってのは、どなたか調べてブログ書いてください😅)
リソースサーバー識別子には、AgentCoreゲートウェイのゲートウェイリソースURL(MCPサーバーのURL)を指定します。名前は何でもいいと思います。
AWS側の設定はこれで完了デス!
動作確認
Claude Codeに設定を行います。「Knowledge」の部分は、Claude Codeに登録するMCPサーバーの名称ですので、任意で変更可能です。
claude mcp add --transport http \
--client-id {CognitoユーザープールのクライアントID} --callback-port 8080 \
Knowledge {AgentCoreゲートウェイのゲートウェイリソースURL(MCPサーバーのURL)}
すると~/.claude.jsonこんな感じで設定が追加されます。(手でJSONを修正してもOKデス)
{
"mcpServers": {
"Knowledge": {
"type": "http",
"url": "...",
"oauth": {
"clientId": "...",
"callbackPort": 8080
}
}
}
}
認証を行います。方法は2つありまして、
- Claude Code起動後、
/mcpコマンドから設定 -
claude mcp loginコマンド実行
後者でやってみましょう。loginのあとに設定したMCPサーバー名を指定します。
claude mcp login Knowledge
Starting authentication for "Knowledge"…
If the browser didn't open, visit:
https://.....
Waiting for authorization… (^C to cancel)
Or paste the redirect URL here:
うまくいくと勝手にブラウザが起動します。Create an accountからユーザーを新規作成してサインインを済ませます。
テストとしてセルフサインアップでおこなていますが、誰でもログインできちゃうので、必要でしたらセルフサインアップの無効化など行いましょう。
サインイン後、localhost:8080のコールバックURLが呼ばれ、無事認証が成功します。
ターミナルに以下のメッセージが出ているはずです。
Authenticated with "Knowledge". Its tools are now available in Claude Code.
ご活用ください!











