Wenn Sie Agenten oder MCP-Server (Model Context Protocol) explizit mit den Services APIs in der Agent Registry registrieren, müssen Sie Konfigurationsdateien angeben, in denen ihre Funktionen beschrieben werden.
Bei der Agent-Registrierung werden Ihre hochgeladenen Dateien anhand externer Open-Source-Spezifikationen validiert, bevor sie indexiert werden, um Agent-Skills und ‑Tools zu erkennen.
Dieses Dokument enthält Beispiele und Links zu den erwarteten JSON-Strukturen für Agent-Karten und MCP-Tool-Spezifikationen.
Schema für Agentenkarte
Beim Registrieren eines A2A-konformen KI-Agenten muss die agent-card.json-Nutzlast der offiziellen A2A-Spezifikation entsprechen.
Die skills-Arrayfelder unterstützen den Keyword-Suchindex.
{
"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
name: Der für Menschen 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 Agent2Agent-Protokolls, das der Agent implementiert, z. B.0.3.0.url: Die Endpunkt-URL, über die der Agent erreicht werden kann.capabilities: Optional. Ein Objekt, das die unterstützten Betriebsfunktionen des Agents angibt, z. B.streaming,pushNotificationsoderstateTransitionHistory.defaultInputModes: Optional. Ein Array von Strings, das die standardmäßigen MIME-Typen definiert, die der Agent als Eingabe akzeptiert, z. B.["text/plain"].defaultOutputModes: Optional. Ein Array von Strings, das die Standard-MIME-Typen definiert, die der Agent als Ausgabe erzeugt, z. B.["text/plain"].skills: Ein Array von Funktionen, die der Agent bietet:id: Eine eindeutige programmatische Kennung für den Skill.name: Ein für Nutzer lesbarer Name für den Skill.description: Eine detaillierte Erklärung der Funktionen des Skills.tags: Ein Array von Schlüsselwort-Strings, die zum Kategorisieren des Skills verwendet werden.examples: Ein Array mit Beispiel-Prompts oder ‑Szenarien, die dieser Skill verarbeitet.
MCP-Tool-Schema
Beim Registrieren eines MCP-Servers muss die Nutzlast von toolspec.json eine Liste von Tools umfassen, die dem Objektschema für MCP-Tool entsprechen.
Die erwartete Nutzlast ist ein JSON-Objekt mit einem einzelnen Feld tools, genau wie es von der Standardanfrage für MCP-Tools oder Listen zurückgegeben wird.
{
"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 menschenlesbare 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-Agents 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 möglicherweise dauerhafte Änderungen verursachen. Der Standardwert isttrue.idempotentHint: Wenntruefestgelegt ist, hat das wiederholte Aufrufen des Tools keine zusätzlichen Auswirkungen. Der Standardwert istfalse.openWorldHint: Wenntrue, interagiert das Tool mit externen Systemen. Der Standardwert isttrue.