JSON-Schemas

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, pushNotifications oder stateTransitionHistory.
  • 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: Wenn true, ruft das Tool nur Daten ab und ändert seine Umgebung nicht. Der Standardwert ist false.
      • destructiveHint: Wenn true, führt das Tool Vorgänge aus, die möglicherweise dauerhafte Änderungen verursachen. Der Standardwert ist true.
      • idempotentHint: Wenn true festgelegt ist, hat das wiederholte Aufrufen des Tools keine zusätzlichen Auswirkungen. Der Standardwert ist false.
      • openWorldHint: Wenn true, interagiert das Tool mit externen Systemen. Der Standardwert ist true.