View a markdown version of this page

레지스트리 레코드 검색 - Amazon Bedrock AgentCore

레지스트리 레코드 검색

예정된 네임스페이스 마이그레이션

AWS 에이전트 레지스트리는 현재 bedrock-agentcore 네임스페이스에서 공개 미리 보기 중입니다. 2026년 8월 6일부터 서비스는 에이전트 레지스트리 네임스페이스로 이동합니다. AWS 에이전트 레지스트리를 사용하는 경우 엔드포인트, IAM 정책, SDK 클라이언트, CLI 스크립트 및 레지스트리 데이터를 업데이트해야 합니다. 공개 미리 보기에서 마이그레이션하는 방법에 대한 자세한 내용은 포괄적인 레지스트리 마이그레이션 가이드를 참조하세요.

요청 파라미터

  • searchQuery(필수): 1~256자의 자연어 쿼리일 수 있습니다.

  • registryIds(필수): 검색을 수행할 레지스트리입니다. 정확히 하나의 레지스트리 ARN 또는 ID를 지원합니다.

  • maxResults(선택 사항): 검색 응답에 반환되는 레코드 수입니다. 1~20 사이의 값을 사용할 수 있으며 기본값은 10입니다.

  • 필터(선택 사항) - 메타데이터 필터 표현식

메타데이터 필터

연산자: $eq , $ne , $in . 논리적: $and , $or . 필드: name, descriptorType, version.

예시: {"descriptorType": {"$eq": "MCP"}}

통합: {"$and": [{"descriptorType": {"$eq": "MCP"}}, {"version": {"$eq": "1.0"}}]}

콘솔

  1. 레지스트리 세부 정보 페이지를 엽니다.

  2. 레코드 검색 탭을 선택합니다.

  3. 검색 쿼리를 입력하고 결과를 봅니다.

참고

콘솔 검색은 IAM 인증 레지스트리에서만 사용할 수 있습니다. JWT 승인 레지스트리의 경우 HTTP 클라이언트(예: curl ) 및 유효한 JWT 보유자 토큰과 함께 검색 API를 직접 사용하거나 MCP 클라이언트를 통해 레지스트리에 대한 MCP 엔드포인트를 사용합니다.

AWS CLI(IAM 기반 인바운드 권한 부여를 사용한 등록)

aws bedrock-agentcore search-registry-records \ --search-query "weather" \ --registry-ids "<registryARN>" \ --region us-east-1

AWS SDK(IAM 기반 인바운드 권한 부여를 사용한 등록)

import boto3 client = boto3.client('bedrock-agentcore') response = client.search_registry_records( registryIds=['<registryARN>'], searchQuery='weather', maxResults=10 ) for record in response['registryRecords']: print(f"{record['name']} - {record['descriptorType']} - {record['status']}")

HTTP 클라이언트(OAuth 기반 인바운드 권한 부여를 사용한 등록)

먼저 보유자 토큰을 얻습니다.

SECRET_HASH=$(echo -n "<username><appClientId>" | openssl dgst -sha256 -hmac "<appClientSecret>" -binary | base64) aws cognito-idp initiate-auth \ --client-id "<appClientId>" \ --auth-flow USER_PASSWORD_AUTH \ --auth-parameters USERNAME="<username>",PASSWORD='<password>',SECRET_HASH="$SECRET_HASH" \ --region us-east-1 | jq -r '.AuthenticationResult.AccessToken'

그런 다음 보유자 토큰으로 검색합니다.

curl -X POST "https://bedrock-agentcore.<region>.amazonaws.com/registry-records/search" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <accessToken>" \ -d '{"registryIds": ["<registryARN>"], "searchQuery": "weather", "maxResults": 10}'

AWS 에이전트 레지스트리 검색의 최종 일관성

AWS 에이전트 레지스트리는 검색 인덱싱에 최종적으로 일관된 모델을 사용합니다. 를 호출UpdateRegistryRecordStatus하거나 콘솔을 통해 레지스트리 레코드를 승인하면 레코드가 SearchRegistryRecords 또는 InvokeRegistryMcp에 즉시 표시되지 않습니다. 일반적으로 승인된 레코드가 인덱싱되고 검색 가능하게 되는 데 몇 초가 걸리지만 경우에 따라 최대 몇 분이 걸릴 수 있습니다.

이 시간 동안 다음 동작을 관찰할 수 있습니다.

  • SearchRegistryRecords 쿼리는 방금 승인된 레코드를 반환하지 않습니다.

  • 레지스트리 MCP 엔드포인트(InvokeRegistryMcp)는 도구 결과에 최근에 승인된 레코드를 포함하지 않습니다.

승인된 상태의 레코드만 검색 결과에 포함됩니다. 초안, 승인 보류 중, 거부됨 또는 사용 중단 상태의 레코드는 SearchRegistryRecords 또는 InvokeRegistryMcp에서 반환되지 않습니다. 를 호출하여 레코드의 현재 상태를 확인할 수 GetRegistryRecord 있습니다. 인덱싱 상태에 관계없이 항상 최신 개정을 반환합니다.

애플리케이션의 최종 일관성을 처리하려면 다음을 수행하는 것이 좋습니다.

  • 레코드를 승인한 후 지수 백오프가 포함된 재시도 전략을 SearchRegistryRecords 사용하여를 호출하여 레코드를 검색할 수 있는지 확인합니다.

  • 승인 직후 검색 결과에 레코드가 표시되지 않는 경우 레지스트리에서 레코드가 누락되었다고 가정하지 마십시오. 를 호출GetRegistryRecord하여 레코드의 상태를 확인합니다.

  • Amazon EventBridge 및 UpdateRegistryRecordStatus를 통해 승인 워크플로를 통합하는 경우 다운스트림 시스템이 검색 API에서 새로 승인된 레코드를 쿼리하기 전에 짧은 지연을 추가합니다.

AWS SDKs에서 재시도 동작을 구성하는 방법에 대한 일반적인 지침은 SDK 및 도구 참조 안내서의 재시도 동작을 참조하세요. AWS SDKs

레코드 속성이 검색 관련성에 미치는 영향

AWS 에이전트 레지스트리는 의미론적 이해와 키워드 일치를 결합하여 관련 결과를 반환하는 하이브리드 검색을 사용합니다. 찾을 것으로 예상되는 레코드가 검색 결과에 표시되지 않는 경우 검색에 영향을 미치는 레코드 속성을 이해하는 것이 도움이 될 수 있습니다.

검색에 사용되는 레코드 속성

레지스트리 레코드의 다음 속성은 검색 관련성을 결정하는 데 사용됩니다.

  • 이름 - 키워드 일치에 사용됩니다. 리소스가 수행하는 작업을 반영하는 명확하고 설명적인 이름은 정확한 이름 조회와 부분적인 이름 조회의 검색 가능성을 개선합니다.

  • 설명 - 키워드 및 의미 체계 일치 모두에 사용됩니다. 리소스의 목적과 일반적인 사용 사례를 설명하는 자연어로 작성된 설명은 기술 레이블보다 검색하기 쉽습니다.

  • 설명자 - 프로토콜 정의(MCP 서버 정의, 에이전트 카드, 스킬 설명서 또는 사용자 지정 JSON)의 전체 내용이 의미 체계 일치에 사용됩니다. 여기에는 도구 이름, 도구 설명, 입력 파라미터 이름 및 기능 요약이 포함됩니다.

  • 버전 및 설명자 유형 - 필터링 가능한 필드로 사용할 수 있습니다. 소비자는 name , 및 descriptorType의 메타데이터 필터를 사용하여 결과의 범위를 좁힐 수 있습니다version.

검색 쿼리 처리 방법

를 호출하면 AWS 에이전트 레지스트리는 동일한 SearchRegistryRecords 인덱싱된 레코드 세트에 대해 두 개의 검색을 병렬로 실행하고 결과를 병합합니다.

  • 의미 체계 검색 - 쿼리가 벡터 표현으로 변환되고 인덱싱된 레코드의 벡터 표현과 비교됩니다. 이렇게 하면 쿼리의 정확한 단어가 레코드에 표시되지 않더라도 개념적으로 관련된 레코드를 찾을 수 있습니다. 예를 들어 "항공편 예약"에 대한 쿼리는 "travel-reservation-service"라는 레코드와 일치할 수 있습니다.

  • 키워드 검색 - 기존 키워드 관련성을 사용하여 쿼리를 레코드 필드의 텍스트 콘텐츠와 일치시킵니다. 이는 정확한 이름 조회 및 특정 기술 용어에 적용됩니다. 예를 들어 "™-api-v2"에 대한 쿼리는 해당 정확한 텍스트가 포함된 레코드와 일치합니다.

요청에 메타데이터 필터를 포함하면 결과가 채점되고 순위가 매겨지기 전에 필터가 두 검색에 모두 적용됩니다. 즉, 필터는 순위 지정 후 결과를 필터링하는 대신 의미 체계 검색과 키워드 검색이 모두 작동하는 후보 집합을 줄입니다.

결과 순위 지정 방법

의미 체계 검색과 키워드 검색의 결과는 하나의 순위 목록으로 결합되고 관련성 순서대로 반환되며 가장 관련성이 높은 레코드가 먼저 반환됩니다. 각 결과의 최종 위치는 두 검색 간의 관련성에 따라 결정됩니다. 의미와 키워드 결과 모두에서 순위가 높은 레코드는 하나에서만 순위가 높은 레코드보다 높게 나타납니다. 키워드 검색 내에서 레코드 이름은 순위에 가장 큰 영향을 미치며, 설명 및 설명자 콘텐츠가 그 뒤에 똑같이 기여합니다. 두 검색 모드 모두 항상 실행되고 최종 순위에 포함되므로 쿼리를 작성하는 방법은 레코드 표면에 영향을 미칩니다. 다음 지침은 의도에 따라 더 나은 결과를 얻는 데 도움이 될 수 있습니다.

효과적인 검색 쿼리 작성

정확한 이름 또는 식별자를 알고 있는 경우 짧은 특정 쿼리를 사용합니다. 키워드 검색은 레코드 이름, 설명 및 설명자 콘텐츠와 정확한 텍스트를 일치시킵니다. "™-api-v2" 또는 "pdf-processing"과 같은 짧은 쿼리는 이름으로 레코드를 찾는 데 효과적입니다.

기능 또는 사용 사례별로 탐색할 때는 필요한 사항에 대한 자연어 설명을 사용합니다. 의미 체계 검색은 개념적 의도를 이해하므로 "항공편을 예약할 수 있는 도구 찾기" 또는 "PDF 문서에서 구조화된 데이터 추출"과 같은 쿼리는 정확한 단어가 레코드 메타데이터에 표시되지 않더라도 관련 레코드와 일치할 수 있습니다.

동일한 쿼리에서 필터와 유사한 제약 조건을 설명 의도와 혼합하지 마십시오. "날씨 예측을 위한 모든 MCP 서버 찾기"와 같은 쿼리는 의미 체계 및 키워드 검색을 통해 전체 문장을 보냅니다. 의미 체계 구성 요소는 전체 문장을 개념적 의도로 해석합니다.이 의도는 개념적으로 관련이 있지만 제약하려는 특정 속성과 일치하지 않는 레코드를 표시할 수 있습니다. 대신 속성 기반 제약 조건에 메타데이터 필터를 사용하고 쿼리를 주제에 집중합니다. 메타데이터 필터와 쿼리 텍스트를 언제 사용해야 하는지를 참조하세요.

검색 가능한 레코드 작성

  • 리소스가 수행하는 작업과 리소스가 해결하는 문제를 설명하는 설명을 작성합니다. 의미 체계 검색은 의도를 이해하므로 "고객이 패키지 배송을 추적할 수 있도록 도와주세요"는 "delivery-status-endpoint"보다 검색하기 쉽습니다.

  • MCP 서버에 대한 전체 도구 정의를 제공합니다. 도구 설명과 입력 파라미터 설명은 모두 검색 관련성에 영향을 미칩니다.

  • 이름 및 설명에 관련 키워드를 포함합니다. 키워드 검색은 정확한 텍스트와 일치하므로 소비자가 특정 용어를 검색할 가능성이 있는 경우 해당 용어가 레코드에 나타나는지 확인합니다.

메타데이터 필터와 쿼리 텍스트를 사용해야 하는 경우

레코드 유형, 이름 또는 버전과 같은 알려진 속성으로 결과를 제한하려는 의도가 있는 경우 메타데이터 필터를 사용합니다. 쿼리 텍스트 자체에 필터와 유사한 제약 조건을 포함하지 마십시오. 예를 들어 날씨와 관련된 모든 MCP 서버를 찾으려면 레코드 유형에 메타데이터 필터를 사용하고 주제에 대한 쿼리를 사용합니다.

{ "searchQuery": "weather forecast", "filters": { "descriptorType": { "$eq": "MCP" } } }

"날씨 예측을 위해 모든 MCP 서버 찾기"와 같은 쿼리 텍스트에 제약 조건을 넣지 마세요. 쿼리가 길수록 의미 체계 일치에 의존하기 때문에 "MCP 서버"라는 단어는 정확한 필터가 아닌 개념적 의도의 일부로 해석됩니다. 이로 인해 의미 체계 구성 요소가 개념적으로 전체 문장과 관련이 있지만 필터링하려는 특정 속성과 일치하지 않는 레코드를 반환할 수 있습니다. 예를 들어 MCP 서버 레코드와 함께 날씨에 대한 에이전트 레코드를 반환합니다. 속성 기반 제약 조건에도 동일하게 적용됩니다. 특정 이름, 버전 또는 유형의 레코드를 원하는 경우 쿼리에 해당 용어를 포함하지 않고 해당 메타데이터 필터를 사용합니다.

다음 필드를 기준으로 필터링할 수 있습니다.

  • name - 정확한 이름으로 레코드를 일치시킵니다.

  • descriptorType - 리소스 유형(예: MCP , , A2A , SKILL CUSTOM)별로 레코드를 일치시킵니다.

  • version - 버전 문자열별로 레코드를 일치시킵니다.

필터는 $eq (같음), $ne (같지 않음) 및 $in (목록의 모든 값과 일치) 연산자를 지원하며 및 $and $or 로직을 사용하여 결합할 수 있습니다.

예를 들어 날씨 관련 MCP 서버만 검색하려면:

{ "searchQuery": "weather forecast", "filters": { "descriptorType": { "$eq": "MCP" } } }

특정 리소스 유형을 제외하려면:

{ "searchQuery": "<your query>", "filters": { "descriptorType": { "$ne": "CUSTOM" } } }

여러 버전 중 하나와 일치시키려면:

{ "filters": { "version": { "$in": ["1.0", "1.1", "2.0"] } } }

검색은 승인된 레코드만 반환합니다.

승인된 상태의 레코드만 검색 결과 및 MCP 엔드포인트를 통해 표시됩니다. 초안, 승인 보류 중, 거부됨 또는 사용 중단됨 상태의 레코드는 반환되지 않습니다. 최근에 승인된 레코드가 결과에 표시되지 않는 경우 AWS 에이전트 레지스트리 검색의 최종 일관성을 참조하세요.