A2A(プロトコル)Beta
オープンな A2A(Agent-to-Agent) プロトコルを使用することで、あなたの AI エージェントが Magisterium AI を発見し、通信し、タスクを委譲できるようになります。
なぜ A2A なのか?
MCP が AI ツール に Magisterium の知識へのアクセスを提供するのに対し、A2A は AI エージェント が Magisterium と対等なピアとして協調できるようにします。オーケストレーターとなるエージェントは、Magisterium の能力を発見し、タスクを送信し、構造化された結果を受け取ることができます — すべて標準的な JSON-RPC インターフェースを通じて行われます。
有料プランが必要です。 A2A エンドポイントは Pro、Organization、Enterprise プランで利用可能です。無料アカウントは
PLAN_REQUIRED(-32005)エラーを受け取ります。現行のプラン制限については MCP 価格 を参照してください — A2A は MCP と同じレートリミットプールを共有します。
エージェントの発見
Magisterium AI は以下の場所で公開の Agent Card を公開しています:
https://www.magisterium.com/.well-known/agent.json
これは外部エージェントが利用可能なスキル、認証要件、および A2A エンドポイントの URL を発見する方法です。このカードは A2A 仕様に準拠しており、取得に認証は必要ありません。
curl https://www.magisterium.com/.well-known/agent.jsonA2A エンドポイント
すべての A2A 操作のための JSON-RPC エンドポイントは以下です:
https://www.magisterium.com/api/v1/a2a
すべてのリクエストは POST を使用し、Content-Type: application/json ヘッダーと標準の JSON-RPC 2.0 エンベロープが必要です。
機能
Agent Card は以下の機能を公表しています:
| 機能 | サポート | 備考 |
|---|---|---|
streaming | いいえ | すべてのスキルは同期的です — 完了したタスクは単一のレスポンスで返されます。 |
pushNotifications | いいえ | クライアントは tasks/get をポーリングして、以前に完了したタスクを取得します。 |
stateTransitionHistory | はい | 各タスクはユーザーとエージェントのメッセージの history を保持します。 |
認証
A2A は Magisterium MCP サーバー と同じ OAuth 2.0 ユーザートークン認証を使用します。A2A エンドポイントを呼び出すには magisterium.com のアカウントが必要です。
Magisterium は https://www.magisterium.com/.well-known/oauth-authorization-server で OAuth 2.0 メタデータを公開しており、認可エンドポイント、トークンエンドポイント、および動的クライアント登録エンドポイントが含まれています。OAuth 2.0 認可コードフロー(PKCE 付き)を実装するクライアントは、このメタデータからアクセストークンを取得できます。標準的なクライアント側の設定については MCP 認証ドキュメント を参照してください。
アクセストークンを取得したら、すべての A2A リクエストの Authorization ヘッダーに含めてください:
Authorization: Bearer $MAGISTERIUM_TOKENAPI コンソール で生成される長期 API キーは Chat Completions、Search、News エンドポイント専用です — A2A に対しては 認証されません。代わりに OAuth で発行されたユーザートークンを使用してください。
トークンが欠如しているか無効な場合は UNAUTHORIZED(-32004)エラーを返します。
クイック例
catholic_qa スキルに質問を送信します:
curl -X POST https://www.magisterium.com/api/v1/a2a \
-H "Authorization: Bearer $MAGISTERIUM_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "message/send",
"params": {
"message": {
"role": "user",
"messageId": "msg-001",
"kind": "message",
"parts": [{ "kind": "text", "text": "What does the Church teach about the Real Presence?" }],
"metadata": { "skillId": "catholic_qa" }
}
}
}'レスポンスは完了済みの Task であり、回答と引用は result.artifacts の中にあります:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"id": "task_abc123",
"contextId": "ctx_def456",
"kind": "task",
"status": { "state": "completed", "timestamp": "2026-04-20T12:00:00.000Z" },
"artifacts": [
{
"artifactId": "art_ghi789",
"name": "catholic_qa_response",
"parts": [
{ "kind": "text", "text": "The Catholic Church teaches..." },
{ "kind": "data", "data": { "citations": [ /* ... */ ] } }
]
}
]
}
}次のステップ
- はじめに — curl、Python、TypeScript で最初の A2A リクエストを実行してみましょう。
- スキル — A2A 経由で公開されているスキルの一覧と、スキルごとの入出力の形状。
- API リファレンス — JSON-RPC メソッド、エラーコード、およびタスクのライフサイクル。