Ao registrar explicitamente agentes ou servidores do Protocolo de Contexto de Modelo (MCP) com o Agent Registry usando as APIs Services, você precisa fornecer arquivos de configuração que descrevam os recursos deles.
O Agent Registry valida os arquivos enviados de acordo com especificações externas de código aberto antes de indexá-los para descobrir habilidades e ferramentas do agente.
Este documento fornece exemplos e links para as estruturas JSON esperadas para cartões de agente e especificações da ferramenta MCP.
Esquema do card do agente
Ao registrar um agente compatível com A2A, o payload agent-card.json precisa
seguir a especificação oficial do A2A.
Os campos de matriz skills são compatíveis com o índice de pesquisa de palavras-chave.
{
"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"
]
}
Definições de campo
name: o nome legível do agente.description: um resumo de alto nível da finalidade do agente.version: a versão do agente, por exemplo,1.0.2.protocolVersion: a versão do protocolo Agent2Agent que o agente implementa, por exemplo,0.3.0.url: o URL do endpoint em que o agente pode ser contatado.capabilities: opcional. Um objeto que especifica as funcionalidades operacionais compatíveis do agente, comostreaming,pushNotificationsoustateTransitionHistory.defaultInputModes: opcional. Uma matriz de strings que define os tipos MIME padrão que o agente aceita como entrada, por exemplo,["text/plain"].defaultOutputModes: opcional. Uma matriz de strings que definem os tipos MIME padrão que o agente produz como saída, por exemplo,["text/plain"].skills: uma matriz de recursos que o agente tem:id: um identificador programático exclusivo para a habilidade.name: um nome legível para a habilidade.description: uma explicação detalhada do que a habilidade faz.tags: uma matriz de strings de palavras-chave usadas para categorizar a habilidade.examples: uma matriz de exemplos de comandos ou cenários que essa skill processa.
Esquema da ferramenta MCP
Ao registrar um servidor MCP, o payload toolspec.json precisa incluir uma lista
de ferramentas que aderem ao
esquema de objeto Tool do MCP.
O payload esperado é um objeto JSON com um único campo tools, exatamente como ele é retornado pela solicitação padrão de lista ou ferramentas do MCP.
{
"tools": [
{
"name": "string",
"description": "string",
"inputSchema": {
"type": "object",
"properties": {}
},
"annotations": {
"title": "string",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
}
}
]
}
Definições de campo
tools: uma matriz de ferramentas fornecidas pelo servidor:name: o identificador programático da ferramenta.description: uma explicação legível da finalidade da ferramenta.inputSchema: um objeto de esquema JSON que define os parâmetros esperados para a ferramenta.annotations: dicas comportamentais que orientam como os agentes de orquestração interagem com a ferramenta:title: um título legível para a ferramenta.readOnlyHint: setrue, a ferramenta só vai recuperar dados e não modificar o ambiente. O padrão éfalse.destructiveHint: setrue, a ferramenta vai realizar operações que podem causar mudanças permanentes. O padrão étrue.idempotentHint: setrue, chamar a ferramenta repetidamente não terá efeito adicional. O padrão éfalse.openWorldHint: setrue, a ferramenta interage com sistemas externos. O padrão étrue.