6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeから使えるMCPサーバーをAgentCoreゲートウェイで構築する

6
Posted at

できないと思い込んでたのですが、できました✌️

AWS公式や、やってみたブログも見た覚えがないので、需要がないのかもしれませんが、、😅

手順

1. Cognitoユーザープールを作成する

Cognitoユーザープールを新規作成します。ポイントは以下のとおりです。

  • アプリケーションタイプは「シングルページアプリケーション」を選択する。これによりクライアントシークレットが生成されない

  • サインイン識別子のオプションの「メールアドレス」にチェックを入れる。他のものでもいいですが、なにか一つ指定が必要です

  • リターンURLに http://localhost:8080/callback を指定する。Claude Codeがコールバックとして動作します

作成後、「OpenID Connect設定URL」と「クライアントID」をメモします。 φ(・

2. Bedrockナレッジベースを作成する

AgentCoreゲートウェイのターゲットとして使用するBedrockナレッジベースを作成します。なんでもいいのでマネージドナレッジベースを作ります。(お好みで)

image.png

3. AgentCoreゲートウェイを作成する

ナレッジベースができたら、AgentCoreゲートウェイを作成します。

動線がしっかりしてまして、ナレッジベース作成後画面からAgentCoreゲートウェイを作成できます。すてき

インバウンド認証の設定を変更し、先程作成したCognitoを使用します。
OpenID Connect設定URL検出URLに、クライアントIDClintsに指定します。
ほかはデフォルトでOKです。

image.png

作成後、MCPサーバーのURLが発行されます。

image.png

4. Cognitoユーザープールにリソースサーバーを作成する

もうひと手間必要でして、Cognitoのユーザープールにリソースサーバーを作成します。(リソースサーバーって何?ってのは、どなたか調べてブログ書いてください😅)

リソースサーバー識別子には、AgentCoreゲートウェイのゲートウェイリソースURL(MCPサーバーのURL)を指定します。名前は何でもいいと思います。

image.png

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.

ご活用ください!

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?