Magisterium AI

Skills

Magisterium AI stelt de volgende skills beschikbaar via het A2A-protocol. Geef de te gebruiken skill op via metadata.skillId in het bericht. Als skillId wordt weggelaten, wordt catholic_qa standaard gebruikt.

SkillIDBeschrijving
Katholieke Q&Acatholic_qaVolledige Q&A met citaten uit meer dan 29.000 magisteriële documenten, de Heilige Schrift en de Kerkvaders.
Documentzoekopdrachtdocument_searchSemantisch zoeken in magisteriële documenten, encyclieken, catechismus-secties en canoniek recht.
Documentophalingdocument_fetchHaal de volledige tekst en metadata van een specifiek document op aan de hand van zijn ID.
Liturgische lezingenliturgical_readingsVerkrijg de katholieke Mislezingen voor elke datum of liturgische gelegenheid.
Heiligen van de dagsaints_of_the_dayVerkrijg de heiligen die op een bepaalde datum worden herdacht uit het Romeins Martyrologium.
Heilige opzoekensaint_lookupZoek een heilige, zalige, eerbiedwaardige of dienaar Gods op via naam of canonieke ID.
Katholieke geestelijke opzoekenperson_lookupZoek een katholieke geestelijke (bisschop, kardinaal, aartsbisschop, enz.) op via naam of canonieke ID.
Paus opzoekenpope_lookupZoek een paus op via naam of canonieke ID.
Bisdom opzoekendiocese_lookupZoek een kerkelijke jurisdictie (bisdom, aartsbisdom, eparchie) op met directorymetadata, kerncijfers en de meest recente financiële gegevens.
Tijdreeks van bisdomstatistiekendiocese_statistics_lookupGeef de volledige jaarlijkse tijdreeks van statistieken voor een bisdom terug — 19 metrieken, één rij per jaar.

Alle skills worden aangeroepen via de JSON-RPC-methode message/send.

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" }
    }
  }
}

Responses komen altijd terug als een Task (kind: "task") met status.state: "completed" en een of meer artifacts. Elk artefact heeft een unieke artifactId, een skill-specifieke name, en een of meer parts (text, data of file).


catholic_qa

Stel een vraag in natuurlijke taal en ontvang een geciteerd, uitgebreid antwoord. Dit is de meest capabele (en meest resource-intensieve) skill — hij draait op hetzelfde model dat magisterium.com aanstuurt.

Invoer: een enkel tekst-part met de vraag.

Artefact: name: "catholic_qa_response" bevat:

  • Een text-part met het volledige antwoord.
  • Een data-part met citations (wanneer bronnen zijn gebruikt).
  • Een data-part met related_questions (wanneer het model suggesties teruggeeft).
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 gebruikt een strengere rate-limit-variant dan de andere skills. Zie API-referentie → Rate-limieten.

document_search

Haal documentreferenties op die overeenkomen met een semantische zoekopdracht in de Magisterium-kennisbank.

Invoer: een enkel tekst-part met de zoekopdracht.

Artefact: name: "search_results" met een enkel data-part:

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

Gebruik het id-veld uit een resultaat om document_fetch aan te roepen voor de volledige tekst.

document_fetch

Haal de volledige tekst en metadata van een document op aan de hand van zijn ID. Deze skill accepteert een data-part in plaats van een tekst-part:

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

Als de aanroeper een tekst-part stuurt, behandelt de handler deze als documentidentificatie.

Artefact: name: "document" met twee parts:

  • Een text-part met de documentinhoud.
  • Een data-part met { id, title, author, ref }.

Als het document niet wordt gevonden, bevat het artefact een enkel text-part met "Document not found.".

liturgical_readings

Verkrijg de katholieke Mislezingen voor een bepaalde datum. Accepteert een datumopdracht in natuurlijke taal — bijv. "vandaag", "volgende zondag" of "Paaszondag 2026".

Invoer: een enkel tekst-part met de datumopdracht.

Artefact: name: "mass_readings" met een enkel text-part met de opgemaakte lezingen. Als er geen lezingen beschikbaar zijn voor de gevraagde datum, luidt het part "No mass readings found.".

saints_of_the_day

Zoek de heiligen op die op een bepaalde datum worden herdacht uit het Romeins Martyrologium.

Invoer: een data-part met een absolute datum, of een tekst-part dat als datumopdracht wordt behandeld:

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

Artefact: name: "martyrology" met een enkel text-part dat de opgemaakte martyrologium-vermelding bevat. Ontbrekende data geven "No martyrology data found." terug.


De vijf onderstaande skills zijn directory-opzoekingen. Elk accepteert een query in natuurlijke taal (als tekst-part of als veld data.query) plus een optionele canonieke ID, en geeft een gestructureerd profiel terug binnen een enkel data-part. Als noch query noch een canonieke ID wordt opgegeven, wordt het verzoek afgewezen met INVALID_PARAMS (-32602).

Wanneer de zoekopdracht niet kan worden opgelost, bevat het artefact in plaats van een profiel een data-part in de vorm { "error": "not_found", "query": "...", "hint"?: "..." }. De taak zelf wordt nog steeds succesvol afgerond — not_found is een normaal opzoekresultaat, geen protocolfout.

saint_lookup

Zoek een heilige, zalige, eerbiedwaardige of dienaar Gods op uit de directory cd_saints (~12.500 figuren).

Invoer: data.query (bijv. "Therese of Lisieux") of data.saint_id (canonieke primaire sleutel, bijv. "jerome"). Een enkel tekst-part wordt als query geaccepteerd.

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

Artefact: name: "saint_profile" met een enkel data-part dat het canonieke profiel bevat — saint_id, primary_name, canonical_status, vocation, image_url, learn_more_url, leven en dood, feestdag, heiligverklaringszaak, patronaat, iconografie, biografie, en (als meerdere kandidaten gevonden zijn) een alternates-array.

person_lookup

Zoek een katholieke geestelijke (bisschop, kardinaal, aartsbisschop, enz.) op uit de directories cd_persons (levend, ~3.500) en cd_persons_historical (~2.200). Pausen worden via de afzonderlijke skill pope_lookup ontsloten.

Invoer: data.query (bijv. "Cardinal Tagle") of data.person_id (canonieke primaire sleutel). Een enkel tekst-part wordt als query geaccepteerd.

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

Artefact: name: "person_profile" met een enkel data-part dat het canonieke profiel bevat — person_id, source_table, primary_name, current_position, image_url, coat_of_arms_url, wijdings- en consecratiedata, kardinaalsverheffing, bisschoppelijke lijn, opleiding, motto en eventuele alternates.

Als de zoekopdracht alleen tot een paus leidt, is het antwoord { "error": "not_found", "hint": "Top match looks like a pope; try get_pope." }.

pope_lookup

Zoek een paus op uit de directory cd_popes (267 figuren).

Invoer: data.query (bijv. "Pope Francis", "John Paul II") of data.pope_id (canonieke primaire sleutel, bijv. "benedict-xvi"). Een enkel tekst-part wordt als query geaccepteerd.

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

Artefact: name: "pope_profile" met een enkel data-part dat het canonieke pauselijke profiel bevat — pope_id, primary_name, papal_name, ordinal, pope_title, image_url, coat_of_arms_url, birth_name, origin, pontificate, status van zaligverklaring en heiligverklaring, en eventuele alternates.

Als de zoekopdracht alleen tot een geestelijke leidt die geen paus is, is het antwoord { "error": "not_found", "hint": "Top match looks like a non-pope clergy member; try get_person." }.

diocese_lookup

Zoek een kerkelijke jurisdictie (bisdom, aartsbisdom, eparchie, enz.) op uit de bisdommen-directory (~3.200 jurisdicties wereldwijd).

Invoer: data.query (bijv. "Archdiocese of Manila") of data.source_code (canonieke primaire sleutel, bijv. "dmaml"). Een enkel tekst-part wordt als query geaccepteerd.

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

Artefact: name: "diocese_profile" met een enkel data-part dat directorymetadata bevat (source_code, primary_name, jurisdiction_type, rite, country, region_primary, state, city, metropolitan, depends_on, province, cathedral, patron_saint, area, erected, elevated, official_website, image_url, current_bishop) plus:

  • recent_statistics — tot 5 jaar aan kerncijfers (katholieken, totale bevolking, percentage katholieken, totaal aantal priesters, parochies, doopsels, seminaristen).
  • latest_financials — de kerncijfers van het meest recente boekjaar (totale opbrengsten, totale lasten, netto vermogen, totaal vermogen, overschot/tekort) indien beschikbaar, met valuta.
  • alternates — wanneer meerdere kandidaten overeenkwamen.

Gebruik voor meerjarige trendanalyse in plaats daarvan diocese_statistics_lookup.

diocese_statistics_lookup

Geef de volledige jaarlijkse tijdreeks van statistieken voor een bisdom terug — alle 19 metrieken die in diocese_statistics worden bijgehouden.

Invoer: data.query of data.source_code (een ervan is verplicht), plus optionele inclusieve grenzen:

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

Artefact: name: "diocese_statistics_time_series" met een enkel data-part dat source_code, diocese_name, year_range: { start, end } en een rows-array bevat. Elke rij bevat 19 metrieken voor één jaar: catholics, total_population, percent_catholic, diocesan_priests, religious_priests, total_priests, catholics_per_priest, permanent_deacons, male_religious, female_religious, parishes, area_km2, churches_or_stations, diocesan_priests_ordained, religious_priests_ordained, seminarians, educational_institutes, charitable_institutes, baptisms.