Magisterium AI

スキル

Magisterium AI は以下のスキルを A2A プロトコルを通じて公開しています。メッセージ上の metadata.skillId で使用するスキルを指定してください。skillId を省略した場合は、既定で catholic_qa が使用されます。

スキルID説明
カトリック Q&Acatholic_qa29,000 以上の教導文書、聖書、教父から引用つきの完全な Q&A。
文書検索document_search教導文書、回勅、カテキズムの節、および教会法への意味検索。
文書取得document_fetch特定の文書の全文とメタデータを ID で取得します。
典礼朗読liturgical_readings任意の日付または典礼の機会のカトリックミサの朗読を取得します。
今日の聖人saints_of_the_dayローマ殉教録に基づいて、指定された日に記念される聖人を取得します。
聖人検索saint_lookup名前または正規 ID で聖人、福者、尊者、または神のしもべを検索します。
カトリック聖職者検索person_lookup名前または正規 ID でカトリックの聖職者(司教、枢機卿、大司教など)を検索します。
教皇検索pope_lookup名前または正規 ID で教皇を検索します。
教区検索diocese_lookup教会の管轄区域(教区、大司教区、総大司教区)をディレクトリのメタデータ、主要統計、最新の財務情報とあわせて検索します。
教区統計時系列diocese_statistics_lookupある教区の年次統計時系列の全体を返します — 19 指標、1 年あたり 1 行。

すべてのスキルは message/send JSON-RPC メソッドを介して呼び出されます。

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "message/send",
  "params": {
    "message": {
      "role": "user",
      "messageId": "unique-id",
      "kind": "message",
      "parts": [{ "kind": "text", "text": "your query here" }],
      "metadata": { "skillId": "document_search" }
    }
  }
}

レスポンスは常に Taskkind: "task")として返ってきます。status.state"completed" で、1 つ以上の artifacts を含みます。各 artifact は一意の artifactId、スキル固有の name、および 1 つ以上の partstextdata、または file)を持ちます。


catholic_qa

自然言語で質問し、引用つきの長文の回答を受け取ります。これは最も高性能(で最もリソースを消費する)スキルです — magisterium.com を動かしているのと同じモデルで実行されます。

入力: 質問を含む単一のテキスト part。

Artifact: name: "catholic_qa_response" で、以下を含みます:

  • 完全な回答を含む text part。
  • citations を含む data part(何らかの出典が使用された場合)。
  • related_questions を含む data part(モデルが提案を返した場合)。
json
{
  "artifactId": "art_...",
  "name": "catholic_qa_response",
  "parts": [
    { "kind": "text", "text": "The Catholic Church teaches..." },
    { "kind": "data", "data": { "citations": [ /* ... */ ] } },
    { "kind": "data", "data": { "related_questions": [ /* ... */ ] } }
  ]
}

catholic_qa は他のスキルよりも厳しいレートリミットの変種を使用します。API リファレンス → レートリミット を参照してください。

document_search

Magisterium のナレッジベースに対する意味クエリに一致する文書の参照を取得します。

入力: クエリを含む単一のテキスト part。

Artifact: name: "search_results"、単一の data part を含みます:

json
{
  "artifactId": "art_...",
  "name": "search_results",
  "parts": [
    {
      "kind": "data",
      "data": {
        "results": [
          { "id": "12345", "url": "https://...", "title": "Lumen Gentium" }
        ]
      }
    }
  ]
}

結果の id フィールドを使って document_fetch を呼び出し、全文を取得してください。

document_fetch

ID で文書の全文とメタデータを取得します。このスキルはテキスト part ではなく data part を受け取ります:

json
{
  "parts": [{ "kind": "data", "data": { "id": "12345" } }]
}

呼び出し元がテキスト part を送信した場合、ハンドラーはフォールバックとしてそれを文書 ID として扱います。

Artifact: name: "document"、2 つの part を含みます:

  • 文書本文を含む text part。
  • { id, title, author, ref } を含む data part。

文書が見つからない場合、artifact は "Document not found." と表示される単一の text part を含みます。

liturgical_readings

指定された日付のカトリックミサの朗読を取得します。自然言語 の日付クエリを受け付けます — 例: "today"、"next Sunday"、"Easter Sunday 2026"。

入力: 日付クエリを含む単一のテキスト part。

Artifact: name: "mass_readings"、整形された朗読を含む単一の text part を含みます。要求された日付の朗読が利用できない場合、その part の内容は "No mass readings found." となります。

saints_of_the_day

ローマ殉教録から、指定された日に記念される聖人を検索します。

入力: 絶対日付を持つ data part、または日付クエリとして扱われるテキスト part:

json
{
  "parts": [{ "kind": "data", "data": { "date": "2026-03-19" } }]
}

Artifact: name: "martyrology"、整形された殉教録のエントリを含む単一の text part を含みます。日付が欠落している場合は "No martyrology data found." が返されます。


以下の 5 つのスキルは ディレクトリ検索 です。それぞれ自然言語の query(テキスト part または data.query フィールド)と、任意の正規 ID を受け取り、構造化されたプロフィールを単一の data part に入れて返します。query も正規 ID も指定されない場合、リクエストは INVALID_PARAMS-32602)で拒否されます。

クエリを解決できない場合、artifact にはプロフィールではなく { "error": "not_found", "query": "...", "hint"?: "..." } という形式の data part が含まれます。タスク自体は成功で完了します — not_found は通常の検索結果であり、プロトコルエラーではありません。

saint_lookup

cd_saints ディレクトリ(約 12,500 名)から、聖人、福者、尊者、または神のしもべを検索します。

入力: data.query(例: "Therese of Lisieux")または data.saint_id(正規の主キー、例: "jerome")。裸のテキスト part も query として受け付けます。

json
{
  "parts": [{ "kind": "data", "data": { "query": "Catherine of Siena" } }]
}

Artifact: name: "saint_profile"、正規プロフィールを含む単一の data part を持ちます — saint_idprimary_namecanonical_statusvocationimage_urllearn_more_url、生涯と没年、祝日、列聖の理由、守護対象、図像表現、伝記、および(複数の候補が見つかった場合の)alternates 配列。

person_lookup

cd_persons(在世、約 3,500 名)と cd_persons_historical(約 2,200 名)のディレクトリから、カトリックの聖職者(司教、枢機卿、大司教など)を検索します。教皇は別の pope_lookup スキルで提供されます。

入力: data.query(例: "Cardinal Tagle")または data.person_id(正規の主キー)。裸のテキスト part も query として受け付けます。

json
{
  "parts": [{ "kind": "data", "data": { "query": "Cardinal Tagle" } }]
}

Artifact: name: "person_profile"、正規プロフィールを含む単一の data part を持ちます — person_idsource_tableprimary_namecurrent_positionimage_urlcoat_of_arms_url、叙階・聖別の日付、枢機卿叙任、司教の系譜、学歴、モットー、および任意の alternates

クエリが教皇のみに一致した場合、応答は { "error": "not_found", "hint": "Top match looks like a pope; try get_pope." } となります。

pope_lookup

cd_popes ディレクトリ(267 名)から、教皇を検索します。

入力: data.query(例: "Pope Francis""John Paul II")または data.pope_id(正規の主キー、例: "benedict-xvi")。裸のテキスト part も query として受け付けます。

json
{
  "parts": [{ "kind": "data", "data": { "query": "John Paul II" } }]
}

Artifact: name: "pope_profile"、教皇の正規プロフィールを含む単一の data part を持ちます — pope_idprimary_namepapal_nameordinalpope_titleimage_urlcoat_of_arms_urlbirth_nameoriginpontificate、列福・列聖の状況、および任意の alternates

クエリが教皇でない聖職者にのみ一致した場合、応答は { "error": "not_found", "hint": "Top match looks like a non-pope clergy member; try get_person." } となります。

diocese_lookup

教区ディレクトリ(世界で約 3,200 の管轄区域)から、教会の管轄区域(教区、大司教区、総大司教区など)を検索します。

入力: data.query(例: "Archdiocese of Manila")または data.source_code(正規の主キー、例: "dmaml")。裸のテキスト part も query として受け付けます。

json
{
  "parts": [{ "kind": "data", "data": { "query": "Archdiocese of Manila" } }]
}

Artifact: name: "diocese_profile"、ディレクトリのメタデータ(source_codeprimary_namejurisdiction_typeritecountryregion_primarystatecitymetropolitandepends_onprovincecathedralpatron_saintareaerectedelevatedofficial_websiteimage_urlcurrent_bishop)に加えて以下を含む単一の data part を持ちます:

  • recent_statistics — 最大 5 年分の主要数値(カトリック信者数、総人口、カトリック信者の割合、司祭総数、小教区数、洗礼者数、神学生数)。
  • latest_financials — 利用可能な場合、直近の会計年度の主要指標(総収入、総支出、純資産、総資産、黒字/赤字)と通貨。
  • alternates — 複数の候補が一致した場合。

複数年の傾向分析には、代わりに diocese_statistics_lookup を使用してください。

diocese_statistics_lookup

ある教区の年次統計時系列を完全に返します — diocese_statistics で追跡している全 19 指標。

入力: data.query または data.source_code(いずれか一方が必須)、加えて任意の閉区間境界:

json
{
  "parts": [{
    "kind": "data",
    "data": {
      "source_code": "dmaml",
      "start_year": 2010,
      "end_year": 2024
    }
  }]
}

Artifact: name: "diocese_statistics_time_series"source_codediocese_nameyear_range: { start, end }、および rows 配列を含む単一の data part を持ちます。各行は 1 年分の 19 指標を保持します: catholicstotal_populationpercent_catholicdiocesan_priestsreligious_prieststotal_priestscatholics_per_priestpermanent_deaconsmale_religiousfemale_religiousparishesarea_km2churches_or_stationsdiocesan_priests_ordainedreligious_priests_ordainedseminarianseducational_institutescharitable_institutesbaptisms