Services API を使用してエージェント レジストリにエージェントまたは Model Context Protocol(MCP)サーバーを明示的に登録する場合は、その機能を記述する構成ファイルを提供する必要があります。
エージェント レジストリは、アップロードされたファイルを外部のオープンソース仕様に照らして検証してから、インデックスに登録してエージェントのスキルとツールを検出します。
このドキュメントでは、エージェント カードと MCP ツールの仕様に必要な JSON 構造の例とリンクを示します。
エージェント カードのスキーマ
A2A 準拠のエージェントを登録する場合、agent-card.json ペイロードは
公式の
Agent2Agent(A2A)仕様に準拠している必要があります。
仕様ファイルの最大サイズは 10 KB です。
skills 配列フィールドはキーワード検索インデックスをサポートしています。
エージェント レジストリは、A2A
エージェント カードのバージョン 0.3 と 1.0 をサポートしています。
バージョン 1.0 のスキーマ(推奨)
A2A エージェント カードのバージョン 1.0 の場合、ペイロードは公式の A2A
v1.0 仕様に準拠している必要があります。この仕様では、トランスポート エンドポイントを 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"
]
}
]
}
フィールドの定義(バージョン 1.0)
name: 人が読める形式のエージェント名。description: エージェントの目的の概要。version: エージェントのバージョン(1.0.0など)。supportedInterfaces: サポートされているトランスポートと URL の組み合わせの配列。 各インターフェースには次のものが含まれます。url: このインターフェースに到達するエンドポイント URL。protocolBinding: この URL でサポートされているプロトコル バインディング(HTTP+JSON、JSONRPC、GRPCなど)。protocolVersion: このインターフェースが公開する A2A プロトコルのバージョン(1.0.0など)。tenant: 省略可。エージェント オーナーの ID。
capabilities: 省略可。次のようなサポートされているオペレーション機能を指定します。extensions: 省略可。プロトコル拡張機能の配列。streaming: 省略可。エージェントがストリーミング レスポンスをサポートしているかどうかを示すブール値。pushNotifications: 省略可。タスクの更新でプッシュ通知がサポートされているかどうかを示すブール値。extendedAgentCard: 省略可。認証時にエージェントが拡張エージェント カードを提供するかどうかを示すブール値。
defaultInputModes: 省略可。入力として受け入れられる MIME タイプの配列。defaultOutputModes: 省略可。出力として生成される MIME タイプの配列。skills: エージェントが持つ機能の配列。id: スキルの固有のプログラム ID。name: 人が読める形式のスキルの名前。description: スキルの機能の詳細な説明。tags: スキルの分類に使用されるキーワード文字列の配列。examples: プロンプトまたはシナリオの例の配列。
バージョン 0.3 のスキーマ
A2A エージェント カードのバージョン 0.3 の場合、ペイロードは
v0.3.0 仕様に準拠している必要があります。この仕様では、プライマリ推論 URL とプロトコル バージョンが最上位フィールドとして宣言されます。
{
"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"
]
}
フィールドの定義(バージョン 0.3)
name: 人が読める形式のエージェント名。description: エージェントの目的の概要。version: エージェントのバージョン(1.0.2など)。protocolVersion: エージェントが実装する A2A プロトコルのバージョン。 バージョン 1.0 ではこの最上位フィールドが非推奨になっているため、この スキーマの値は0.3または0.3.1などの0.3パッチ バージョンにする必要があります。url: エージェントに到達できるエンドポイント URL。capabilities: 省略可。streaming、pushNotifications、stateTransitionHistoryなどのサポートされているオペレーション機能を指定します。defaultInputModes: 省略可。入力として受け入れられる MIME タイプの配列。defaultOutputModes: 省略可。出力として生成される MIME タイプの配列。skills: エージェントが持つ機能の配列。id: スキルの固有のプログラム ID。name: 人が読める形式のスキルの名前。description: スキルの機能の詳細な説明。tags: スキルの分類に使用されるキーワード文字列の配列。examples: プロンプトまたはシナリオの例の配列。
MCP ツールのスキーマ
MCP サーバーを登録するときは、toolspec.json ペイロードに、
MCP Tool オブジェクト スキーマに準拠するツールのリスト
を含める必要があります。
必要なペイロードは、標準の MCP ツールまたはリスト リクエストによって返されるものとまったく同じ、単一の tools フィールドを持つ JSON オブジェクトです。この仕様ファイルの最大サイズは 10 KB です。
{
"tools": [
{
"name": "string",
"description": "string",
"inputSchema": {
"type": "object",
"properties": {}
},
"annotations": {
"title": "string",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
}
}
]
}
フィールドの定義
tools: サーバーによって提供されるツールの配列。name: ツールのプログラム ID。description: ツールの目的を人が読める形式で説明したものです。inputSchema: ツールの想定されるパラメータを定義する JSON スキーマ オブジェクト。annotations: オーケストレータ エージェントがツールとやり取りする方法をガイドする動作のヒント。title: 人が読める形式のツールのタイトル。readOnlyHint:trueの場合、ツールはデータを取得するだけで、環境を変更しません。デフォルトはfalseです。destructiveHint:trueの場合、ツールは永続的な変更を引き起こす可能性のあるオペレーションを実行します。デフォルトはtrueです。idempotentHint:trueの場合、ツールを繰り返し呼び出しても追加の効果はありません。デフォルトはfalseです。openWorldHint:trueの場合、ツールは外部システムとやり取りします。デフォルトはtrueです。