17
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Bedrock AgentCoreにリモートMCPサーバーをDeploy!(期待大)

Last updated at Posted at 2025-07-18

やっていきましょう

AgentCore Gatewayを作成する

  1. Amazon Bedrock AgentCoreの管理画面を開きます。

  2. まずはAPIキーを保存します。

    1. メニューの「Identity」を選択します
    2. 右下のオレンジボタンの「Add API key」

    モーダルダイアログにAPI Keyを登録します。

    APIキーはTavilyのサイトで事前に取得する必要があります。

    登録できました。

  3. 続いてゲートウェイを作成します。

    1. メニューの「Gateways」を選択します
    2. オレンジ色の「Create gateway」を選択します

    項目に入力していきます。デフォルトで行けるところはデフォルトで行きましょう。この画面はこのままでOKです。

    1. 「Target Description」を入力します
    2. Target typeを「Integrations」に変更し、「Browse providers」をクリックします

    Tavilyを選択し、「Select」をクリックします

    1. API keyは先ほどIdentityとして登録したAPIキーを選択します。
    2. 「Create Gateway」をクリックします

    ゲートウェイができました!

Discovery URL、Gateway resource URLを後で使用します。

Bearerトークンを生成する

さて、このリモートMCPサーバーのアクセスはBearerトークンによる認証が有効化されています。このトークンを生成します。

おそらくプレビューだからだと思いますが、ここのドキュメントがありませんw

しれっとデフォルト設定で進めてきましたが、実はAmazon Cognitoが作成されていまして、認証機能はCognitoが担当しています。

  1. Cognitoの管理画面を開き、該当の(作成日時が一番最近のやつ)を選択します。
    メニューの「アプリケーションクライアント」を選択します。

  2. 一つだけ登録されているアプリケーションクライアント名を選択します。

  3. クライアントIDクライアントシークレットをコピーします。

  4. ログインページタブを選び、カスタムスコープをコピーします。

ここからCloudShellで作業します。

これまでにコピーした値をセットします。

export CLIENT_ID=*****
export CLIENT_SECRET=*****
export CUSTOM_SCOPE=*****
export DISCOVERY_URL=https://cognito-idp.us-east-1.amazonaws.com/*****

トークンを発行します。

AUTH_HEADER=$(echo -n "${CLIENT_ID}:${CLIENT_SECRET}" | base64 -w 0)

TOKEN_ENDPOINT=$(curl ${DISCOVERY_URL} | jq -r .token_endpoint)

ACCESS_TOKEN=$(curl -X POST ${TOKEN_ENDPOINT} \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Basic ${AUTH_HEADER}" \
 -d "grant_type=client_credentials&scope=${CUSTOM_SCOPE}" | jq -r .access_token)

 echo $ACCESS_TOKEN

正直、何をやってるかわかってませんが、「セキュアリモートパスワード (SRP)」という認証フローだそうです。Amazon Q Develoer CLIが教えてくれました。

後日Claude Desktopに聞いたらClient Credentials Grantと教えてくれました。 どっち??

これでトークンが発行できました。

VSCodeから接続!

それではVSCodeから接続してみましょう。

  1. VSCodeを起動し、GitHub Copilotのチャットを開きます。

    チャット欄下部の「ツールの構成」アイコンをクリックします。
    image.png

  2. リストの一番下にある「その他のツールを追加」を選択します。
    image.png

  3. 「MCPサーバーの追加」を選択します。
    image.png

  4. 「HTTP」を選択します。
    image.png

  5. AgentCoreの画面でコピーしたGateway resource URL(/mcpで終わるURL)を入力します。
    image.png

  6. 名前をつけます。

    image.png

  7. MCPの設定ファイルが作成されますが、設定が不足しているので接続に失敗します。
    こんな感じでHTTPヘッダーにAuthorizationヘッダーを送信するように設定します。

    {
    	"servers": {
    		"my-mcp-server-1ba6c630": {
    			"url": "*****",
    			"type": "http",
    			"headers": {
    				"Authorization": "Bearer ${input:api_key}",
    			}
    		}
    	},
    	"inputs": [
    		{
    			"id": "api_key",
    			"type": "promptString",
    			"description": "Enter your api key",
    			"password": true
    		}
    	]
    }
    
  8. 設定したら、設定ファイルの中に表示される「再起動」をクリックします

  9. トークンの入力欄が表示されるので、トークン文字列を入力します。

  10. 「実行中」になり、ツールの数が表示されれば接続成功です。

    image.png

チャット欄で呼び出してみましょう

image.png

image.png

やったね!


アクセストークンの有効期限が1時間なので気をつけよう

17
5
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
17
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?