서비스 API를 사용하여 에이전트 또는 모델 컨텍스트 프로토콜 (MCP) 서버를 에이전트 레지스트리에 명시적으로 등록하는 경우 기능을 설명하는 구성 파일을 제공해야 합니다.
Agent Registry는 에이전트 기술과 도구를 검색하기 위해 색인을 생성하기 전에 업로드된 파일을 외부 오픈소스 사양에 대해 검증합니다.
이 문서에서는 상담사 카드 및 MCP 도구 사양에 대한 예상 JSON 구조의 예시와 링크를 제공합니다.
상담사 카드 스키마
A2A 호환 에이전트를 등록할 때 agent-card.json 페이로드가 공식 A2A 사양을 준수해야 합니다.
skills 배열 필드는 키워드 검색 색인을 지원합니다.
{
"name": "string",
"description": "string",
"version": "string",
"protocolVersion": "string",
"url": "string",
"skills": [
{
"id": "string",
"name": "string",
"description": "string",
"tags": [
"string"
],
"examples": [
"string"
]
}
],
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false
},
"defaultInputModes": [
"text/plain"
],
"defaultOutputModes": [
"text/plain"
]
}
필드 정의
name: 에이전트의 사람이 읽을 수 있는 이름입니다.description: 에이전트의 목적에 관한 개략적인 요약입니다.version: 에이전트 버전입니다(예:1.0.2).protocolVersion: 에이전트가 구현하는 Agent2Agent 프로토콜의 버전입니다(예:0.3.0).url: 에이전트에 연결할 수 있는 엔드포인트 URL입니다.capabilities: 선택사항.streaming,pushNotifications,stateTransitionHistory과 같은 에이전트의 지원되는 운영 기능을 지정하는 객체입니다.defaultInputModes: 선택사항. 에이전트가 입력으로 허용하는 기본 MIME 유형을 정의하는 문자열 배열입니다(예:["text/plain"]).defaultOutputModes: 선택사항. 에이전트가 출력으로 생성하는 기본 MIME 유형을 정의하는 문자열 배열입니다(예:["text/plain"]).skills: 에이전트가 보유한 기능의 배열입니다.id: 스킬의 고유 프로그래매틱 식별자입니다.name: 기능의 사람이 읽을 수 있는 이름입니다.description: 스킬이 수행하는 작업에 대한 자세한 설명입니다.tags: 스킬을 분류하는 데 사용되는 키워드 문자열의 배열입니다.examples: 이 스킬이 처리하는 프롬프트 또는 시나리오의 예시 배열입니다.
MCP 도구 스키마
MCP 서버를 등록할 때 toolspec.json 페이로드에 MCP Tool 객체 스키마를 준수하는 도구 목록이 포함되어야 합니다.
예상되는 페이로드는 표준 MCP 도구 또는 목록 요청에서 반환되는 것과 정확히 동일한 단일 tools 필드가 있는 JSON 객체입니다.
{
"tools": [
{
"name": "string",
"description": "string",
"inputSchema": {
"type": "object",
"properties": {}
},
"annotations": {
"title": "string",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
}
}
]
}
필드 정의
tools: 서버에서 제공하는 도구의 배열입니다.name: 도구의 프로그래매틱 식별자입니다.description: 도구의 목적에 대한 사람이 읽을 수 있는 설명입니다.inputSchema: 도구에 필요한 매개변수를 정의하는 JSON 스키마 객체입니다.annotations: 오케스트레이터 에이전트가 도구와 상호작용하는 방식을 안내하는 동작 힌트입니다.title: 도구의 인간이 읽을 수 있는 제목입니다.readOnlyHint:true인 경우 도구는 데이터만 가져오고 환경을 수정하지 않습니다. 기본값은false입니다.destructiveHint:true인 경우 도구는 영구적인 변경을 일으킬 수 있는 작업을 실행합니다. 기본값은true입니다.idempotentHint:true인 경우 도구를 반복적으로 호출해도 추가 효과가 없습니다. 기본값은false입니다.openWorldHint:true인 경우 도구가 외부 시스템과 상호작용합니다. 기본값은true입니다.