Wenn Sie Agenten oder MCP-Server (Model Context Protocol) explizit mit der Agent Registry über die Services APIs registrieren, müssen Sie Konfigurationsdateien bereitstellen, in denen ihre Funktionen beschrieben werden.
Die Agent Registry validiert Ihre hochgeladenen Dateien anhand externer Open-Source Spezifikationen, bevor sie indexiert werden, um A2A-Fähigkeiten und Tools von Agenten zu ermitteln.
Dieses Dokument enthält Beispiele und Links zu den erwarteten JSON-Strukturen für Agentenkarten und MCP-Tool-Spezifikationen.
Schema für Agentenkarten
Beim Registrieren eines A2A-konformen Agenten muss die agent-card.json Nutzlast der offiziellen
Spezifikation von Agent2Agent (A2A) entsprechen.
Die maximale Dateigröße für die Spezifikationsdatei beträgt 10 KB.
Die Felder des skills-Arrays unterstützen den Keyword-Suchindex.
Die Agent Registry unterstützt die Versionen 0.3 und 1.0 der A2A
Agentenkarte.
Schema für Version 1.0 (empfohlen)
Für Version 1.0 der A2A-Agentenkarten muss die Nutzlast der offiziellen A2A
Spezifikation v1.0 entsprechen. In dieser Spezifikation deklarieren Sie Transportendpunkte in einem supportedInterfaces-Array.
{
"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"
]
}
]
}
Felddefinitionen (Version 1.0)
name: Der für Nutzer lesbare Name des Agenten.description: Eine allgemeine Zusammenfassung des Zwecks des Agenten.version: Die Version des Agenten, z. B.1.0.0.supportedInterfaces: Ein Array unterstützter Transport- und URL-Kombinationen. Jede Schnittstelle enthält Folgendes:url: Die Endpunkt-URL, über die diese Schnittstelle erreicht wird.protocolBinding: Die Protokollbindung, die unter dieser URL unterstützt wird, z. B.HTTP+JSON,JSONRPCoderGRPC.protocolVersion: Die A2A-Protokollversion, die diese Schnittstelle verfügbar macht, z. B.1.0.0.tenant: Optional. Die Kennung des Agenteninhabers.
capabilities: Optional. Gibt unterstützte Betriebsfunktionen an, z. B.:extensions: Optional. Ein Array von Protokollerweiterungen.streaming: Optional. Ein boolescher Wert, der angibt, ob der Agent Streaming-Antworten unterstützt.pushNotifications: Optional. Ein boolescher Wert, der angibt, ob Push-Benachrichtigungen für Aufgabenaktualisierungen unterstützt werden.extendedAgentCard: Optional. Ein boolescher Wert, der angibt, ob der Agent nach der Authentifizierung eine erweiterte Agentenkarte bereitstellt.
defaultInputModes: Optional. Ein Array von MIME-Typen, die als Eingabe akzeptiert werden.defaultOutputModes: Optional. Ein Array von MIME-Typen, die als Ausgabe erzeugt werden.skills: Ein Array von Fähigkeiten des Agenten:id: Eine eindeutige programmatische Kennung für die Fähigkeit.name: Ein für Nutzer lesbarer Name für die Fähigkeit.description: Eine detaillierte Beschreibung der Funktion der Fähigkeit.tags: Ein Array von Keyword-Strings, mit denen die Fähigkeit kategorisiert wird.examples: Ein Array von Beispielprompts oder ‑szenarien.
Schema für Version 0.3
Für Version 0.3 der A2A-Agentenkarten muss die Nutzlast der
Spezifikation v0.3.0 entsprechen. In dieser Spezifikation werden die primäre Inferenz-URL und die Protokollversion als Felder der obersten Ebene deklariert.
{
"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"
]
}
Felddefinitionen (Version 0.3)
name: Der für Nutzer lesbare Name des Agenten.description: Eine allgemeine Zusammenfassung des Zwecks des Agenten.version: Die Version des Agenten, z. B.1.0.2.protocolVersion: Die Version des A2A-Protokolls, die der Agent implementiert. Da Version 1.0 dieses Feld der obersten Ebene veraltet, muss der Wert0.3oder eine beliebige0.3-Patchversion wie0.3.1für dieses Schema sein.url: Die Endpunkt-URL, über die der Agent erreicht werden kann.capabilities: Optional. Ein Objekt, das die unterstützten Betriebsfunktionen des Agenten angibt, z. B.streaming,pushNotificationsoderstateTransitionHistory.defaultInputModes: Optional. Ein Array von Strings, die die Standard-MIME Typen definieren, die der Agent als Eingabe akzeptiert, z. B.["text/plain"].defaultOutputModes: Optional. Ein Array von Strings, die die Standard- MIME-Typen definieren, die der Agent als Ausgabe erzeugt, z. B.["text/plain"].skills: Ein Array beschreibender A2A-Fähigkeiten des Agenten:id: Eine eindeutige programmatische Kennung für die A2A-Fähigkeit.name: Ein für Nutzer lesbarer Name für die A2A-Fähigkeit.description: Eine detaillierte Beschreibung der Funktion der A2A-Fähigkeit.tags: Ein Array von Keyword-Strings, mit denen die A2A-Fähigkeit kategorisiert wird.examples: Ein Array von Beispielprompts oder ‑szenarien, die von dieser A2A-Fähigkeit verarbeitet werden.
Schema für MCP-Tools
Beim Registrieren eines MCP-Servers muss die Nutzlast von toolspec.json eine Liste
von Tools umfassen, die dem
MCP Tool Objektschema entsprechen.
Die erwartete Nutzlast ist ein JSON-Objekt mit einem einzelnen tools Feld, genau wie es
von
der Standard-MCP-Tool- oder ‑Listenanfrage zurückgegeben wird.
Die maximale Dateigröße für diese Spezifikationsdatei beträgt 10 KB.
{
"tools": [
{
"name": "string",
"description": "string",
"inputSchema": {
"type": "object",
"properties": {}
},
"annotations": {
"title": "string",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
}
}
]
}
Felddefinitionen
tools: Ein Array von Tools, die vom Server bereitgestellt werden:name: Die programmatische Kennung für das Tool.description: Eine für Nutzer lesbare Erklärung des Zwecks des Tools.inputSchema: Ein JSON-Schema-Objekt, das die erwarteten Parameter für das Tool definiert.annotations: Verhaltenshinweise, die die Interaktion von Orchestrator-Agenten mit dem Tool steuern:title: Ein für Nutzer lesbarer Titel für das Tool.readOnlyHint: Wenntrue, ruft das Tool nur Daten ab und ändert seine Umgebung nicht. Der Standardwert istfalse.destructiveHint: Wenntrue, führt das Tool Vorgänge aus, die dauerhafte Änderungen verursachen können. Der Standardwert isttrue.idempotentHint: Wenntrue, hat das wiederholte Aufrufen des Tools keine zusätzlichen Auswirkungen. Der Standardwert istfalse.openWorldHint: Wenntrue, interagiert das Tool mit externen Systemen. Der Standardwert isttrue.