View a markdown version of this page

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

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

同步來自外部來源的記錄

遷移現已開啟

AWS 代理程式登錄檔已在新的agent-registry命名空間下啟動。公有預覽bedrock-agentcore命名空間的支援將於 2026 年 9 月 17 日停止。如需遷移說明,請參閱綜合登錄遷移指南。

概觀

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

從公有 MCP 伺服器同步

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

主控台

範例
AWS Agent Registry namespace
  1. 在AWS 客服人員登錄檔主控台中開啟登錄檔詳細資訊頁面。

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

  3. 選擇從端點同步。

  4. 在記錄詳細資訊下,針對類型,選擇 MCP。Descriptor 設定為 MCP 伺服器。

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

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

  7. (選用) 在標籤區段中,選擇新增標籤以將一或多個標籤連接至記錄。每個標籤都有一個索引鍵和一個選用值。

  8. 選擇建立記錄。

Amazon Bedrock AgentCore namespace (to be deprecated)
  1. 在 Bedrock-AgentCore 主控台中開啟登錄檔詳細資訊頁面。

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

  3. 選擇從端點同步。

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

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

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

  7. 選擇建立記錄。

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

AWS CLI

範例
AWS Agent Registry namespace
aws agent-registry-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "aws-knowledge-server" \ --display-name "AWS Knowledge Server" \ --record-type MCP \ --descriptors '{ "mcpServer": { "source": { "fromUrl": { "url": "https://knowledge-mcp.global.api.aws" } } } }' \ --region us-east-1
Amazon Bedrock AgentCore namespace (to be deprecated)
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 開發套件

範例
AWS Agent Registry namespace
import boto3 client = boto3.client('agent-registry-control') response = client.create_registry_record( registryId='<registryId>', name='aws-knowledge-server', displayName='AWS Knowledge Server', recordType='MCP', descriptors={ 'mcpServer': { 'source': { 'fromUrl': { 'url': 'https://knowledge-mcp.global.api.aws' } } } } ) print(f"Record ARN: {response['recordArn']}") print(f"Status: {response['status']}") # CREATING
Amazon Bedrock AgentCore namespace (to be deprecated)
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
注意

在agent-registry命名空間中,同步組態會在每個描述項內移動為 source(僅在 mcpServer和a2aAgentCard主要描述項上支援)。最上層 synchronizationType/synchronizationConfiguration 欄位不再存在。

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

從 OAuth 保護的 MCP 伺服器同步

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

主控台

範例
AWS Agent Registry namespace
  1. 在AWS 客服人員登錄檔主控台中開啟登錄檔詳細資訊頁面。

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

  3. 選擇從端點同步。

  4. 在記錄詳細資訊下,針對類型,選擇 MCP。Descriptor 設定為 MCP 伺服器。

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

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

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

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

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

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

  9. (選用) 在標籤區段中,選擇新增標籤以將一或多個標籤連接至記錄。每個標籤都有一個索引鍵和一個選用值。

  10. 選擇建立記錄。

Amazon Bedrock AgentCore namespace (to be deprecated)
  1. 在 Bedrock-AgentCore 主控台中開啟登錄檔詳細資訊頁面。

  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 Agent Registry namespace
aws agent-registry-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "oauth-mcp-server" \ --display-name "OAuth MCP Server" \ --record-type MCP \ --descriptors '{ "mcpServer": { "source": { "fromUrl": { "url": "$MCP_OAUTH_URL", "credentialProviderConfigurations": [ { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "$OAUTH_PROVIDER_ARN", "grantType": "CLIENT_CREDENTIALS" } } } ] } } } }' \ --region us-east-1
Amazon Bedrock AgentCore namespace (to be deprecated)
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 許可:

注意

這些同步相關的 IAM 許可會授權 AgentCore Identity 管理的工作負載身分和 OAuth 憑證提供者資源。這些資源刻意保留在bedrock-agentcore命名空間之下,因此此政策不會變更。

{ "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:<region>:<account>:token-vault/default/oauth2credentialprovider/<oauthProviderName>" ] } ] }
注意

將GetResourceOauth2Token陳述式範圍限定為此角色所需的存取字符的特定 OAuth 憑證提供者 ARN。避免在 ARN 的提供者區段中使用萬用字元 — 模式,例如 token-vault/ 或token-vault/default/oauth2credentialprovider/授予帳戶內每個 OAuth 登入資料提供者的存取權,這可以啟用跨團隊登入資料存取。遵循最低權限原則,在 Resource 欄位中命名特定提供者,例如 arn:aws:bedrock-agentcore:<region>:<account>:token-vault/default/oauth2credentialprovider/<oauthProviderName>。

限制:

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

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

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

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

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

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

主控台

範例
AWS Agent Registry namespace
  1. 在AWS 客服人員登錄檔主控台中開啟登錄檔詳細資訊頁面。

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

  3. 選擇從端點同步。

  4. 在記錄詳細資訊下,針對類型,選擇 MCP。Descriptor 設定為 MCP 伺服器。

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

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

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

  8. 針對服務,輸入 SigV4 簽署的服務名稱 agent-registry(例如,、execute-api、lambda)。

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

  10. (選用) 在標籤區段中,選擇新增標籤以將一或多個標籤連接至記錄。每個標籤都有一個索引鍵和一個選用值。

  11. 選擇建立記錄。

Amazon Bedrock AgentCore namespace (to be deprecated)
  1. 在 Bedrock-AgentCore 主控台中開啟登錄檔詳細資訊頁面。

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

  3. 選擇從端點同步。

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

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

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

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

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

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

  10. 選擇建立記錄。

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

AWS CLI

範例
AWS Agent Registry namespace
aws agent-registry-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "gateway-mcp-server" \ --display-name "Gateway MCP Server" \ --record-type MCP \ --descriptors '{ "mcpServer": { "source": { "fromUrl": { "url": "$MCP_IAM_URL", "credentialProviderConfigurations": [ { "credentialProviderType": "IAM", "credentialProvider": { "iamCredentialProvider": { "roleArn": "$IAM_ROLE_ARN", "service": "$SIGNING_SERVICE", "region": "$SIGNING_REGION" } } } ] } } } }' \ --region us-east-1
Amazon Bedrock AgentCore namespace (to be deprecated)
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 許可:

注意

此iam:PassRole政策授權登錄將角色遞交至 AgentCore Identity 以進行傳出同步。iam:PassedToService 條件值bedrock-agentcore.amazonaws.com是指 AgentCore Identity 服務主體,不會變更。

{ "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:

主控台

範例
AWS Agent Registry namespace
  1. 在AWS 客服人員登錄檔主控台中開啟登錄檔詳細資訊頁面。

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

  3. 選擇從端點同步。

  4. 在記錄詳細資訊下,針對類型,選擇客服人員。描述項設定為 A2A 代理程式卡。

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

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

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

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

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

  7. (選用) 在標籤區段中,選擇新增標籤以將一或多個標籤連接至記錄。每個標籤都有一個索引鍵和一個選用值。

  8. 選擇建立記錄。

Amazon Bedrock AgentCore namespace (to be deprecated)
  1. 在 Bedrock-AgentCore 主控台中開啟登錄檔詳細資訊頁面。

  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 Agent Registry namespace
aws agent-registry-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "travel-agent" \ --display-name "Travel Agent" \ --record-type AGENT \ --descriptors '{ "a2aAgentCard": { "source": { "fromUrl": { "url": "https://agent.example.com/.well-known/agent-card.json" } } } }' \ --region us-east-1
Amazon Bedrock AgentCore namespace (to be deprecated)
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 上託管的 代理同步。當同步目標為 AgentCore 執行期或閘道上託管的代理程式時,請使用 agent-registry做為 service 欄位。

範例
AWS Agent Registry namespace
aws agent-registry-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "a2a_agent_record" \ --display-name "A2A Agent Record" \ --record-type AGENT \ --descriptors "{ \"a2aAgentCard\": { \"source\": { \"fromUrl\": { \"url\": \"$A2A_URL\", \"credentialProviderConfigurations\": [{ \"credentialProviderType\": \"IAM\", \"credentialProvider\": { \"iamCredentialProvider\": { \"roleArn\": \"$IAM_INVOKER_ROLE\", \"service\": \"agent-registry\" } } }] } } } }"
Amazon Bedrock AgentCore namespace (to be deprecated)
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 或客服人員記錄的記錄詳細資訊頁面。

範例
AWS Agent Registry namespace
  1. 在AWS 客服人員登錄檔主控台的記錄詳細資訊頁面中,選擇管理,然後選擇同步。

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

  3. 選擇同步以確認。

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

  1. 在記錄詳細資訊頁面中,選擇管理,然後選擇編輯。

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

  3. 選擇儲存變更。

Amazon Bedrock AgentCore namespace (to be deprecated)
  1. 從 Bedrock-AgentCore 主控台的記錄詳細資訊頁面中,選擇標頭動作中的同步按鈕。

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

  3. 選擇同步以確認。

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

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

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

  3. 選擇儲存變更。

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

AWS CLI

範例
AWS Agent Registry namespace
aws agent-registry-control update-registry-record \ --registry-id $REGISTRY_ID \ --record-id $RECORD_ID \ --trigger-synchronization \ --region us-east-1
Amazon Bedrock AgentCore namespace (to be deprecated)
aws bedrock-agentcore-control update-registry-record \ --registry-id $REGISTRY_ID \ --record-id $RECORD_ID \ --trigger-synchronization \ --region us-east-1

AWS 開發套件

範例
AWS Agent Registry namespace
import boto3 client = boto3.client('agent-registry-control') response = client.update_registry_record( registryId='<registryId>', recordId='<recordId>', triggerSynchronization=True ) print(f"Status: {response['status']}")
Amazon Bedrock AgentCore namespace (to be deprecated)
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 修訂。核准的修訂仍然可以探索。

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