View a markdown version of this page

同步來自外部來源的記錄 - Amazon Bedrock AgentCore

同步來自外部來源的記錄

即將進行的命名空間遷移

AWS 客服人員登錄檔目前在 bedrock-agentcore 命名空間下為公開預覽。從 2026 年 8 月 6 日開始,服務會移至代理程式登錄命名空間。如果您使用 AWS 代理程式登錄檔,則必須更新端點、IAM 政策、SDK 用戶端、CLI 指令碼和登錄檔資料。如需從公有預覽遷移的詳細資訊,請參閱 綜合登錄遷移指南

概觀

AWS 客服人員登錄檔可以透過使用傳出登入資料連線至提供的 URL,自動同步來自外部來源的記錄中繼資料。當您提供 URL 和登入資料提供者 (對於不需要任何存取授權的公有資源為選用) 時,系統會擷取伺服器和工具定義,並填入符合官方通訊協定結構描述的記錄描述。如果在來源找到這些值,也會更新記錄的名稱、描述和版本。

從公有 MCP 伺服器同步

對於不需要身分驗證或授權的公有 MCP 伺服器:

主控台

  1. 開啟登錄檔詳細資訊頁面。

  2. 登錄檔記錄區段中,選擇建立記錄

  3. 選擇從端點同步

  4. 記錄詳細資訊下,選擇 MCP 作為記錄類型。

  5. 針對端點,輸入公有 MCP 伺服器 URL (例如 https://knowledge-mcp.global.api.aws)。必須是有效的 HTTPS URL。

  6. 登入資料類型下,選擇

  7. 選擇建立記錄

    記錄會以 CREATING 狀態建立。登錄檔會連線至端點、擷取伺服器和工具定義,並填入記錄的描述項。同步完成後,記錄會轉換為 DRAFT。如果同步失敗,記錄會轉換為 CREATE_FAILED 狀態,並在狀態原因欄位中提供錯誤詳細資訊。如需故障診斷,請參閱記錄同步錯誤

AWS CLI

aws bedrock-agentcore-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "aws-knowledge-server" \ --descriptor-type MCP \ --synchronization-type URL \ --synchronization-configuration '{ "fromUrl": { "url": "https://knowledge-mcp.global.api.aws" } }' \ --region us-east-1

AWS 開發套件

import boto3 client = boto3.client('bedrock-agentcore-control') response = client.create_registry_record( registryId='<registryId>', name='aws-knowledge-server', descriptorType='MCP', synchronizationType='URL', synchronizationConfiguration={ 'fromUrl': { 'url': 'https://knowledge-mcp.global.api.aws' } } ) print(f"Record ARN: {response['recordArn']}") print(f"Status: {response['status']}") # CREATING

記錄會以 CREATING 狀態建立。同步時間從 秒到 分鐘不等,取決於中繼資料的大小。同步完成後,它會使用從 MCP 伺服器擷取的描述項轉換為 DRAFT,包括伺服器和工具定義。

從 OAuth 保護的 MCP 伺服器同步

當 MCP 伺服器受到 OAuth 保護時,您需要在授權伺服器上建立 M2M 用戶端,然後從 AgentCore Identity 設定登入資料提供者,其中包含用戶端 ID 和允許清單呼叫 MCP 伺服器的秘密。擁有登入資料提供者後,您可以將其提供給登錄檔進行同步處理:

主控台

  1. 開啟登錄檔詳細資訊頁面。

  2. 登錄檔記錄區段中,選擇建立記錄

  3. 選擇從端點同步

  4. 記錄詳細資訊下,選擇 MCP 作為記錄類型。

  5. 針對端點,輸入 OAuth 保護的 MCP 伺服器 URL。必須是有效的 HTTPS URL。

  6. 登入資料類型下,選擇 OAuth

  7. 針對登入資料提供者,從 AgentCore Identity 選取或輸入登入資料提供者 ARN。

  8. (選用) 展開其他組態以設定:

    1. 範圍 — 取得存取權杖時要請求的 OAuth 範圍。

    2. 自訂參數 — OAuth 權杖請求的其他鍵值參數。

  9. 選擇建立記錄

    記錄會以 CREATING 狀態建立。登錄檔會使用 OAuth 登入資料連線至端點,擷取伺服器和工具定義,並填入記錄的描述項。同步完成後,記錄會轉換為 DRAFT。如果同步失敗,記錄會轉換為 CREATE_FAILED 狀態,並在狀態原因欄位中提供錯誤詳細資訊。如需故障診斷,請參閱記錄同步錯誤

AWS CLI

aws bedrock-agentcore-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "oauth-mcp-server" \ --descriptor-type MCP \ --synchronization-type URL \ --synchronization-configuration '{ "fromUrl": { "url": "$MCP_OAUTH_URL", "credentialProviderConfigurations": [ { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "$OAUTH_PROVIDER_ARN", "grantType": "CLIENT_CREDENTIALS" } } } ] } }' \ --region us-east-1

所需的其他 IAM 許可:

{ "Statement": [ { "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken" ], "Resource": [ "arn:aws:bedrock-agentcore:*:<account>:workload-identity-directory/*" ] }, { "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceOauth2Token" ], "Resource": [ "arn:aws:bedrock-agentcore:*:<account>:token-vault/*" ] } ] }

限制:

  • CreateRegistryRecord 或 UpdateRegistryRecord 的發起人必須具有登入資料提供者的 GetWorkloadAccessToken 登錄相關工作負載身分和 GetResourceOauth2Token 許可。

  • 登入資料提供者必須來自相同的 帳戶。

從受 IAM 保護的 MCP 伺服器同步

對於 AgentCore 執行期或 AgentCore Gateway 上的 MCP 伺服器,請指定用於 SigV4 簽署的 IAM 角色。角色必須具有存取目標服務的許可。例如:在 AgentCore 執行期bedrock-agentcore:InvokeAgentRuntimeForUserbedrock-agentcore:InvokeAgentRuntime或 ;在 AgentCore Gateway bedrock-agentcore:InvokeGateway為 。

除了 IAM 角色之外,您還必須指定 SigV4 簽署service的欄位。如果您的 MCP 在 AgentCore Runtime 或 AgentCore Gateway 上執行,則值應為 bedrock-agentcore 。如果您的 MCP 在 API 閘道上執行,則應該是 execute-api ,如果 MCP 在 lambda 上執行,則應該是 lambda

region 值為選用。根據預設,請求將使用與登錄檔相同的區域進行簽署。

主控台

  1. 開啟登錄檔詳細資訊頁面。

  2. 登錄檔記錄區段中,選擇建立記錄

  3. 選擇從端點同步

  4. 記錄詳細資訊下,選擇 MCP 作為記錄類型。

  5. 針對端點,輸入受 IAM 保護的 MCP 伺服器 URL。必須是有效的 HTTPS URL。

  6. 登入資料類型下,選擇 IAM

  7. 針對角色 ARN,輸入要為 SigV4 簽署擔任的 IAM 角色 ARN。

  8. 針對服務,輸入 SigV4 簽署的服務名稱 bedrock-agentcore(例如 、execute-apilambda)。

  9. (選用) 展開其他組態,然後選擇 SigV4 簽署的區域。如果未指定,則會使用登錄檔本身的區域。

  10. 選擇建立記錄

    記錄會以 CREATING 狀態建立。登錄檔會使用 IAM 登入資料連線至端點、擷取伺服器和工具定義,並填入記錄的描述項。同步完成後,記錄會轉換為 DRAFT。如果同步失敗,記錄會轉換為 CREATE_FAILED 狀態,並在狀態原因欄位中提供錯誤詳細資訊。如需故障診斷,請參閱記錄同步錯誤

AWS CLI

aws bedrock-agentcore-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "gateway-mcp-server" \ --descriptor-type MCP \ --synchronization-type URL \ --synchronization-configuration '{ "fromUrl": { "url": "$MCP_IAM_URL", "credentialProviderConfigurations": [ { "credentialProviderType": "IAM", "credentialProvider": { "iamCredentialProvider": { "roleArn": "$IAM_ROLE_ARN", "service": "$SIGNING_SERVICE", "region": "$SIGNING_REGION" } } } ] } }' \ --region us-east-1

所需的其他 IAM 許可:

{ "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account>:role/<sync-role>" ], "Condition": { "StringEquals": { "iam:PassedToService": "bedrock-agentcore.amazonaws.com" } } } ] }

從 A2A 代理程式卡同步

提供代理程式卡片 URL 或.well-known/agent-card.json可探索的代理程式基本 URL:

主控台

  1. 開啟登錄檔詳細資訊頁面。

  2. 登錄檔記錄區段中,選擇建立記錄

  3. 選擇從端點同步

  4. 記錄詳細資訊下,選擇客服人員做為記錄類型。

  5. 端點中,輸入客服人員卡 URL (例如 https://agent.example.com/.well-known/agent-card.json)。必須是有效的 HTTPS URL。

  6. 登入資料類型下,選擇適當的授權方法:

    1. — 適用於可公開存取的客服人員卡。

    2. IAM — 適用於在 AgentCore 執行期或閘道上託管的代理程式。提供角色 ARN 和服務名稱。

    3. OAuth — 適用於 OAuth 保護的代理程式。選取或輸入登入資料提供者 ARN。

  7. 選擇建立記錄

    記錄會以 CREATING 狀態建立。登錄檔會連線至端點、擷取代理程式卡中繼資料,並填入記錄的描述項。同步完成後,記錄會轉換為 DRAFT。如果同步失敗,記錄會轉換為 CREATE_FAILED 狀態,並在狀態原因欄位中提供錯誤詳細資訊。如需故障診斷,請參閱記錄同步錯誤

AWS CLI

aws bedrock-agentcore-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "travel-agent" \ --descriptor-type A2A \ --synchronization-type URL \ --synchronization-configuration '{"fromUrl": {"url": "https://agent.example.com/.well-known/agent-card.json"}}' \ --region us-east-1

您也可以指定 A2A 同步的登入資料提供者,例如,您可以從 AgentCore 上託管的 代理同步:

aws bedrock-agentcore-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "a2a_agent_record" \ --descriptor-type A2A \ --synchronization-type URL \ --synchronization-configuration "{ \"fromUrl\": { \"url\": \"$A2A_URL\", \"credentialProviderConfigurations\": [{ \"credentialProviderType\": \"IAM\", \"credentialProvider\": { \"iamCredentialProvider\": { \"roleArn\": \"$IAM_INVOKER_ROLE\", \"service\": \"bedrock-agentcore\" } } }] } }"

在現有記錄上觸發同步

主控台

  1. 開啟已設定同步的 MCP 或客服人員記錄的記錄詳細資訊頁面。

  2. 選擇標頭動作中的同步按鈕。

  3. 在確認對話方塊中,檢閱同步會將記錄還原為草稿狀態的訊息。

  4. 選擇同步以確認。

記錄會在同步期間轉換為 UPDATING 狀態。完成後,它會從來源傳回具有更新描述項的 DRAFT。如果同步失敗,記錄會轉換為 UPDATE_FAILED 狀態,並在狀態原因欄位中提供錯誤詳細資訊。如需故障診斷,請參閱記錄同步錯誤

或者,您可以在編輯期間觸發同步:

  1. 在記錄詳細資訊頁面中,選擇三點選單 (⋮),然後選擇編輯

  2. 從端點同步下,選取從端點重新同步核取方塊。

  3. 選擇儲存變更

AWS CLI

aws bedrock-agentcore-control update-registry-record \ --registry-id $REGISTRY_ID \ --record-id $RECORD_ID \ --trigger-synchronization \ --region us-east-1

AWS 開發套件

import boto3 client = boto3.client('bedrock-agentcore-control') response = client.update_registry_record( registryId='<registryId>', recordId='<recordId>', triggerSynchronization=True ) print(f"Status: {response['status']}")
注意

如果記錄處於非 DRAFT 狀態 (例如 APPROVED),則更新會建立新的 DRAFT 修訂。核准的修訂仍可供搜尋。

故障診斷:請參閱記錄同步錯誤