Quando registri esplicitamente agenti o server Model Context Protocol (MCP) con Agent Registry utilizzando le API dei servizi, devi fornire file di configurazione che ne descrivano le funzionalità.
Agent Registry convalida i file caricati rispetto alle specifiche esterne open source prima di indicizzarli per scoprire le skill A2A e gli strumenti degli agenti.
Questo documento fornisce esempi e link alle strutture JSON previste per le schede degli agenti e le specifiche degli strumenti MCP.
Schema della scheda dell'agente
Quando registri un agente conforme ad A2A, il tuo agent-card.json payload deve
rispettare la specifica
Agent2Agent (A2A) ufficiale.
La dimensione massima del file di specifiche è 10 kB.
I campi dell'array skills supportano l'indice di ricerca per parole chiave.
Agent Registry supporta le versioni 0.3 e 1.0 della scheda dell'agente A2A
.
Schema della versione 1.0 (consigliato)
Per la versione 1.0 delle schede degli agenti A2A, il payload deve rispettare la specifica A2A
v1.0 ufficiale. In questa specifica, dichiari gli endpoint di trasporto all'interno di un array supportedInterfaces.
{
"name": "string",
"description": "string",
"version": "string",
"supportedInterfaces": [
{
"url": "string",
"protocolBinding": "string",
"protocolVersion": "string",
"tenant": "string"
}
],
"capabilities": {
"streaming": false,
"pushNotifications": false,
"extendedAgentCard": false
},
"defaultInputModes": [
"text/plain"
],
"defaultOutputModes": [
"text/plain"
],
"skills": [
{
"id": "string",
"name": "string",
"description": "string",
"tags": [
"string"
],
"examples": [
"string"
]
}
]
}
Definizioni dei campi (versione 1.0)
name: il nome dell'agente leggibile da una persona.description: un riepilogo di alto livello dello scopo dell'agente.version: la versione dell'agente, ad esempio1.0.0.supportedInterfaces: un array di combinazioni di trasporto e URL supportate. Ogni interfaccia contiene quanto segue:url: l'URL dell'endpoint in cui si raggiunge questa interfaccia.protocolBinding: l'associazione del protocollo supportata in questo URL, ad esempioHTTP+JSON,JSONRPCoGRPC.protocolVersion: la versione del protocollo A2A esposta da questa interfaccia, ad esempio1.0.0.tenant: (facoltativo) L'identificatore del proprietario dell'agente.
capabilities: (facoltativo) Specifica le funzionalità operative supportate, ad esempio:extensions: (facoltativo) Un array di estensioni del protocollo.streaming: (facoltativo) Un valore booleano che indica se l'agente supporta le risposte in streaming.pushNotifications: (facoltativo) Un valore booleano che indica se le notifiche push sono supportate per gli aggiornamenti delle attività.extendedAgentCard: (facoltativo) Un valore booleano che indica se l'agente fornisce una scheda dell'agente estesa quando viene autenticato.
defaultInputModes: (facoltativo) Un array di tipi MIME accettati come input.defaultOutputModes: (facoltativo) Un array di tipi MIME prodotti come output.skills: un array di funzionalità dell'agente:id: un identificatore programmatico univoco per la skill.name: un nome leggibile per la skill.description: una spiegazione dettagliata di cosa fa la skill.tags: un array di stringhe di parole chiave utilizzate per classificare la skill.examples: un array di prompt o scenari di esempio.
Schema della versione 0.3
Per la versione 0.3 delle schede degli agenti A2A, il payload deve rispettare la
specifica v0.3.0. In questa specifica, l'URL di inferenza principale e la versione del protocollo vengono dichiarati come campi di primo livello.
{
"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"
]
}
Definizioni dei campi (versione 0.3)
name: il nome dell'agente leggibile da una persona.description: un riepilogo di alto livello dello scopo dell'agente.version: la versione dell'agente, ad esempio1.0.2.protocolVersion: la versione del protocollo A2A implementata dall'agente. Poiché la versione 1.0 ritira questo campo di primo livello, il valore deve essere0.3o una qualsiasi versione patch0.3, ad esempio0.3.1, per questo schema.url: l'URL dell'endpoint in cui è possibile raggiungere l'agente.capabilities: (facoltativo) Un oggetto che specifica le funzionalità operative supportate dall'agente, ad esempiostreaming,pushNotificationsostateTransitionHistory.defaultInputModes: (facoltativo) Un array di stringhe che definiscono i tipi MIME predefiniti accettati dall'agente come input, ad esempio["text/plain"].defaultOutputModes: (facoltativo) Un array di stringhe che definiscono i tipi MIME predefiniti prodotti dall'agente come output, ad esempio["text/plain"].skills: un array di skill A2A descrittive dell'agente:id: un identificatore programmatico univoco per la skill A2A.name: un nome leggibile per la skill A2A.description: una spiegazione dettagliata di cosa fa la skill A2A.tags: un array di stringhe di parole chiave utilizzate per classificare la skill A2A.examples: un array di prompt o scenari di esempio gestiti da questa skill A2A.
Schema dello strumento MCP
Quando registri un server MCP, il payload toolspec.json deve includere un elenco
di strumenti che rispettano lo
schema dell'oggetto Tool MCP.
Il payload previsto è un oggetto JSON con un singolo campo tools, esattamente come
viene restituito da
la richiesta standard di strumenti o elenco MCP.
La dimensione massima del file di specifiche è 10 kB.
{
"tools": [
{
"name": "string",
"description": "string",
"inputSchema": {
"type": "object",
"properties": {}
},
"annotations": {
"title": "string",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
}
}
]
}
Definizioni dei campi
tools: un array di strumenti forniti dal server:name: l'identificatore programmatico dello strumento.description: una spiegazione dello scopo dello strumento leggibile da una persona.inputSchema: un oggetto schema JSON che definisce i parametri previsti per lo strumento.annotations: suggerimenti comportamentali che guidano il modo in cui gli agenti orchestratori interagiscono con lo strumento:title: un titolo leggibile per lo strumento.readOnlyHint: setrue, lo strumento recupera solo i dati e non modifica il relativo ambiente. Il valore predefinito èfalse.destructiveHint: setrue, lo strumento esegue operazioni che potrebbero causare modifiche permanenti. Il valore predefinito ètrue.idempotentHint: setrue, la chiamata ripetuta dello strumento non ha alcun effetto aggiuntivo. Il valore predefinito èfalse.openWorldHint: setrue, lo strumento interagisce con sistemi esterni. Il valore predefinito ètrue.