Saat Anda mendaftarkan agen atau server Model Context Protocol (MCP) secara manual di
Agent Registry dengan membuat resource Service, Anda menyediakan file konfigurasi
JSON yang mendeklarasikan kemampuannya. Registry Agen memvalidasi
file ini berdasarkan spesifikasi open source sebelum mengindeksnya sehingga
konsumen dapat menemukan kemampuan A2A agen dan alat MCP. Gunakan struktur dan contoh JSON berikut untuk memformat spesifikasi Kartu Agen dan alat MCP Anda.
Skema Kartu Agen
Saat mendaftarkan agen yang mematuhi A2A, payload agent-card.json Anda harus
mematuhi
spesifikasi Agent2Agent (A2A) resmi.
Ukuran file maksimum untuk file spesifikasi adalah 10 KB.
Kolom array skills mendukung indeks penelusuran kata kunci.
Registry Agen mendukung versi 1.0 dan 0.3 dari Kartu Agen A2A. Pilih
versi untuk melihat skema JSON dan definisi kolomnya:
Versi 1.0 (direkomendasikan)
Untuk Kartu Agen A2A versi 1.0, payload harus mematuhi spesifikasi v1.0 A2A resmi. Dalam spesifikasi ini, Anda mendeklarasikan
endpoint transportasi dalam 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"
]
}
]
}
Definisi kolom
name: nama agen yang dapat dibaca manusia.description: ringkasan tingkat tinggi tentang tujuan agen.version: versi agen, misalnya,1.0.0.supportedInterfaces: array kombinasi transport dan URL yang didukung. Setiap antarmuka berisi hal berikut:url: URL endpoint tempat antarmuka ini dijangkau.protocolBinding: binding protokol yang didukung di URL ini, misalnya,HTTP+JSON,JSONRPC, atauGRPC.protocolVersion: versi A2A protocol yang diekspos antarmuka ini, misalnya,1.0.0.tenant(opsional): ID pemilik agen.
capabilities(opsional): menentukan kemampuan operasional yang didukung, seperti berikut:extensions(opsional): array ekstensi protokol.streaming(opsional): boolean yang menunjukkan apakah agen mendukung respons streaming.pushNotifications(opsional): boolean yang menunjukkan apakah notifikasi push didukung untuk pembaruan tugas.extendedAgentCard(opsional): boolean yang menunjukkan apakah agen menyediakan Kartu Agen yang diperluas saat diautentikasi.
defaultInputModes(opsional): array jenis MIME yang diterima sebagai input.defaultOutputModes(opsional): array jenis MIME yang dihasilkan sebagai output.skills: array kemampuan A2A deskriptif yang dimiliki agen:id: ID terprogram unik untuk kemampuan A2A.name: nama yang dapat dibaca manusia untuk kemampuan A2A.description: penjelasan mendetail tentang fungsi skill A2A.tags: array string kata kunci yang digunakan untuk mengategorikan kemampuan A2A.examples: array contoh perintah atau skenario yang ditangani oleh keterampilan A2A ini.
Versi 0.3
Untuk Kartu Agen A2A versi 0.3, payload harus mematuhi
spesifikasi v0.3.0. Dalam spesifikasi ini, URL inferensi utama dan versi protokol dideklarasikan sebagai kolom tingkat atas:
{
"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"
]
}
Definisi kolom
name: nama agen yang dapat dibaca manusia.description: ringkasan tingkat tinggi tentang tujuan agen.version: versi agen, misalnya,1.0.2.protocolVersion: versi protokol A2A yang diterapkan agen. Karena versi1.0menghentikan penggunaan kolom tingkat teratas ini, nilainya harus berupa0.3atau versi patch0.3apa pun, seperti0.3.1, untuk skema ini.url: URL endpoint tempat agen dapat dijangkau.capabilities(opsional): objek yang menentukan kemampuan operasional agen yang didukung, sepertistreaming,pushNotifications, ataustateTransitionHistory.defaultInputModes(opsional): array string yang menentukan jenis MIME default yang diterima agen sebagai input, misalnya,["text/plain"].defaultOutputModes(opsional): array string yang menentukan jenis MIME default yang dihasilkan agen sebagai output, misalnya,["text/plain"].skills: array kemampuan A2A deskriptif yang dimiliki agen:id: ID terprogram unik untuk kemampuan A2A.name: nama yang dapat dibaca manusia untuk kemampuan A2A.description: penjelasan mendetail tentang fungsi skill A2A.tags: array string kata kunci yang digunakan untuk mengategorikan kemampuan A2A.examples: array contoh perintah atau skenario yang ditangani oleh keterampilan A2A ini.
Skema alat MCP
Saat mendaftarkan server MCP, payload toolspec.json Anda harus menyertakan daftar
alat yang mematuhi
skema objek Tool MCP.
Payload yang diharapkan adalah objek JSON dengan satu kolom tools, persis seperti yang ditampilkan oleh alat MCP standar atau permintaan daftar.
Ukuran file maksimum untuk file spesifikasi ini adalah 10 KB.
{
"tools": [
{
"name": "string",
"description": "string",
"inputSchema": {
"type": "object",
"properties": {}
},
"annotations": {
"title": "string",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
}
}
]
}
Definisi kolom
tools: array alat yang disediakan oleh server:name: ID terprogram untuk alat.description: penjelasan yang dapat dibaca manusia tentang tujuan alat.inputSchema: objek Skema JSON yang menentukan parameter yang diharapkan untuk alat tersebut.annotations: petunjuk perilaku yang memandu cara agen orchestrator berinteraksi dengan alat:title: judul yang dapat dibaca manusia untuk alat.readOnlyHint: jikatrue, alat hanya mengambil data dan tidak mengubah lingkungannya. Jumlah defaultnya adalahfalsedestructiveHint: jikatrue, alat akan melakukan operasi yang mungkin menyebabkan perubahan permanen. Jumlah defaultnya adalahtrueidempotentHint: jikatrue, memanggil alat berulang kali tidak akan memberikan efek tambahan. Jumlah defaultnya adalahfalseopenWorldHint: jikatrue, alat akan berinteraksi dengan sistem eksternal. Jumlah defaultnya adalahtrue