Lorsque vous enregistrez explicitement des agents ou des serveurs MCP (Model Context Protocol) auprès d'Agent Registry à l'aide des API Services, vous devez fournir des fichiers de configuration qui décrivent leurs fonctionnalités.
Agent Registry valide les fichiers que vous importez par rapport à des spécifications externes Open Source avant de les indexer pour découvrir les compétences et les outils de l'agent.
Ce document fournit des exemples et des liens vers les structures JSON attendues pour les cartes d'agent et les spécifications des outils MCP.
Schéma de carte d'agent
Lorsque vous enregistrez un agent compatible A2A, la charge utile agent-card.json doit
respecter la spécification
A2A officielle.
Les champs du tableau skills sont compatibles avec l'index de recherche par mot clé.
{
"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"
]
}
Définition des champs
name: nom lisible de l'agent.description: résumé de l'objectif de l'agent.version: version de l'agent, par exemple1.0.2.protocolVersion: version du protocole Agent2Agent implémenté par l'agent, par exemple0.3.0.url: URL du point de terminaison où l'agent est accessible.capabilities: facultatif. Objet spécifiant les fonctionnalités opérationnelles compatibles de l'agent, telles questreaming,pushNotificationsoustateTransitionHistory.defaultInputModes: facultatif. Tableau de chaînes définissant les types MIME par défaut que l'agent accepte en entrée, par exemple["text/plain"].defaultOutputModes: facultatif. Tableau de chaînes définissant les types MIME par défaut que l'agent génère en sortie, par exemple["text/plain"].skills: tableau des fonctionnalités dont dispose l'agent :id: identifiant unique de la compétence au niveau programmatique.name: nom lisible de la compétence.description: explication détaillée de ce que fait la compétence.tags: tableau de chaînes de mots clés utilisées pour catégoriser la compétence.examples: tableau d'exemples d'invites ou de scénarios gérés par cette compétence.
Schéma d'outil MCP
Lors de l'enregistrement d'un serveur MCP, votre toolspec.json charge utile doit inclure une liste
d'outils conformes au
schéma d'objet Tool MCP.
La charge utile attendue est un objet JSON avec un seul tools champ, exactement comme il
est renvoyé par
les outils MCP standards ou la requête de liste.
{
"tools": [
{
"name": "string",
"description": "string",
"inputSchema": {
"type": "object",
"properties": {}
},
"annotations": {
"title": "string",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
}
}
]
}
Définition des champs
tools: tableau d'outils fournis par le serveur :name: identifiant programmatique de l'outil.description: explication lisible de l'objectif de l'outil.inputSchema: objet de schéma JSON définissant les paramètres attendus pour l'outil.annotations: indications comportementales qui guident la manière dont les agents d'orchestration interagissent avec l'outil :title: titre lisible de l'outil.readOnlyHint: si la valeur esttrue, l'outil ne récupère que les données et ne modifie pas son environnement. La valeur par défaut estfalse.destructiveHint: si la valeur esttrue, l'outil effectue des opérations susceptibles d'entraîner des modifications permanentes. La valeur par défaut esttrue.idempotentHint: si la valeur esttrue, l'appel répété de l'outil n'a aucun effet supplémentaire. La valeur par défaut estfalse.openWorldHint: si la valeur esttrue, l'outil interagit avec des systèmes externes. La valeur par défaut esttrue.