Magisterium AI

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 仕様に準拠しており、取得に認証は必要ありません。

bash
curl https://www.magisterium.com/.well-known/agent.json

A2A エンドポイント

すべての 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_TOKEN

API コンソール で生成される長期 API キーは Chat Completions、Search、News エンドポイント専用です — A2A に対しては 認証されません。代わりに OAuth で発行されたユーザートークンを使用してください。

トークンが欠如しているか無効な場合は UNAUTHORIZED-32004)エラーを返します。

クイック例

catholic_qa スキルに質問を送信します:

bash
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 の中にあります:

json
{
  "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 メソッド、エラーコード、およびタスクのライフサイクル。