Magisterium AI

Umiejętności

Magisterium AI udostępnia następujące umiejętności przez protokół A2A. Określ umiejętność do użycia za pomocą metadata.skillId w wiadomości. Jeśli skillId zostanie pominięty, domyślnie używane jest catholic_qa.

UmiejętnośćIDOpis
Katolickie Q&Acatholic_qaPełne Q&A z cytatami z ponad 29 000 dokumentów Magisterium, Pisma Świętego i Ojców Kościoła.
Wyszukiwanie dokumentówdocument_searchWyszukiwanie semantyczne w dokumentach Magisterium, encyklikach, częściach katechizmu i prawie kanonicznym.
Pobieranie dokumentudocument_fetchPobieranie pełnego tekstu i metadanych konkretnego dokumentu na podstawie jego ID.
Czytania liturgiczneliturgical_readingsUzyskiwanie katolickich czytań mszalnych na dowolną datę lub okazję liturgiczną.
Święci dniasaints_of_the_dayUzyskiwanie świętych wspominanych w danym dniu z Martyrologium Rzymskiego.
Wyszukiwanie świętegosaint_lookupWyszukaj świętego, błogosławionego, czcigodnego lub sługę Bożego po imieniu lub kanonicznym ID.
Wyszukiwanie duchownego katolickiegoperson_lookupWyszukaj postać duchowieństwa katolickiego (biskup, kardynał, arcybiskup itp.) po imieniu lub kanonicznym ID.
Wyszukiwanie papieżapope_lookupWyszukaj papieża po imieniu lub kanonicznym ID.
Wyszukiwanie diecezjidiocese_lookupWyszukaj jurysdykcję kościelną (diecezja, archidiecezja, eparchia) z metadanymi katalogu, najważniejszymi statystykami i najnowszymi danymi finansowymi.
Szereg czasowy statystyk diecezjidiocese_statistics_lookupZwraca pełny roczny szereg czasowy statystyk dla diecezji — 19 wskaźników, jeden wiersz na rok.

Wszystkie umiejętności są wywoływane za pomocą metody JSON-RPC 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" }
    }
  }
}

Odpowiedzi zawsze wracają jako Task (kind: "task") ze status.state: "completed" i jednym lub większą liczbą artifacts. Każdy artefakt ma unikalny artifactId, name specyficzne dla umiejętności oraz jedną lub więcej parts (text, data lub file).


catholic_qa

Zadaj pytanie w języku naturalnym i otrzymaj szczegółową odpowiedź z cytatami. To najpotężniejsza (i najbardziej zasobożerna) umiejętność — działa na tym samym modelu, który napędza magisterium.com.

Wejście: pojedyncza część tekstowa z pytaniem.

Artefakt: name: "catholic_qa_response" zawierający:

  • Część text z pełną odpowiedzią.
  • Część data z citations (gdy używane były jakieś źródła).
  • Część data z related_questions (gdy model zwraca sugestie).
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 używa bardziej restrykcyjnego wariantu limitu żądań niż pozostałe umiejętności. Zobacz Dokumentacja API → Limity żądań.

document_search

Pobieranie odwołań do dokumentów pasujących do zapytania semantycznego w bazie wiedzy Magisterium.

Wejście: pojedyncza część tekstowa z zapytaniem.

Artefakt: name: "search_results" z pojedynczą częścią data:

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

Użyj pola id z wyniku, aby wywołać document_fetch dla pełnego tekstu.

document_fetch

Pobieranie pełnego tekstu i metadanych dokumentu na podstawie jego ID. Ta umiejętność przyjmuje część data zamiast części tekstowej:

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

Jeśli wywołujący wysyła część tekstową, obsługa traktuje ją jako ID dokumentu.

Artefakt: name: "document" z dwiema częściami:

  • Częścią text zawierającą treść dokumentu.
  • Częścią data z { id, title, author, ref }.

Jeśli dokument nie zostanie znaleziony, artefakt zawiera pojedynczą część text o treści "Document not found.".

liturgical_readings

Uzyskiwanie katolickich czytań mszalnych na daną datę. Akceptuje zapytanie o datę w języku naturalnym — np. "today", "next Sunday" lub "Easter Sunday 2026".

Wejście: pojedyncza część tekstowa z zapytaniem o datę.

Artefakt: name: "mass_readings" z pojedynczą częścią text zawierającą sformatowane czytania. Jeśli dla żądanej daty nie są dostępne żadne czytania, część zawiera "No mass readings found.".

saints_of_the_day

Wyszukaj świętych wspominanych w danym dniu z Martyrologium Rzymskiego.

Wejście: część data z datą absolutną lub część tekstowa traktowana jako zapytanie o datę:

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

Artefakt: name: "martyrology" z pojedynczą częścią text zawierającą sformatowany wpis martyrologium. Brakujące daty zwracają "No martyrology data found.".


Pięć poniższych umiejętności to wyszukiwania w katalogu. Każda akceptuje zapytanie w języku naturalnym query (jako część tekstową lub pole data.query) oraz opcjonalny kanoniczny ID, a zwraca ustrukturyzowany profil w pojedynczej części data. Jeśli ani query, ani kanoniczny ID nie zostaną podane, żądanie zostaje odrzucone z błędem INVALID_PARAMS (-32602).

Gdy zapytania nie da się rozwiązać, artefakt zawiera część data w postaci { "error": "not_found", "query": "...", "hint"?: "..." } zamiast profilu. Samo zadanie nadal kończy się powodzeniem — not_found jest normalnym wynikiem wyszukiwania, a nie błędem protokołu.

saint_lookup

Wyszukaj świętego, błogosławionego, czcigodnego lub sługę Bożego z katalogu cd_saints (~12 500 postaci).

Wejście: data.query (np. "Therese of Lisieux") lub data.saint_id (kanoniczny klucz główny, np. "jerome"). Sama część tekstowa jest akceptowana jako query.

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

Artefakt: name: "saint_profile" z pojedynczą częścią data zawierającą kanoniczny profil — saint_id, primary_name, canonical_status, vocation, image_url, learn_more_url, dane o życiu i śmierci, dzień święta, sprawę kanonizacyjną, patronat, ikonografię, biografię oraz (jeśli znaleziono wielu kandydatów) tablicę alternates.

person_lookup

Wyszukaj postać duchowieństwa katolickiego (biskup, kardynał, arcybiskup itp.) z katalogów cd_persons (żyjący, ~3 500) i cd_persons_historical (~2 200). Papieże są udostępniani przez osobną umiejętność pope_lookup.

Wejście: data.query (np. "Cardinal Tagle") lub data.person_id (kanoniczny klucz główny). Sama część tekstowa jest akceptowana jako query.

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

Artefakt: name: "person_profile" z pojedynczą częścią data zawierającą kanoniczny profil — person_id, source_table, primary_name, current_position, image_url, coat_of_arms_url, daty święceń i konsekracji, kreację kardynalską, sukcesję biskupią, edukację, dewizę oraz ewentualne alternates.

Jeśli zapytanie odpowiada wyłącznie papieżowi, odpowiedź ma postać { "error": "not_found", "hint": "Top match looks like a pope; try get_pope." }.

pope_lookup

Wyszukaj papieża z katalogu cd_popes (267 postaci).

Wejście: data.query (np. "Pope Francis", "John Paul II") lub data.pope_id (kanoniczny klucz główny, np. "benedict-xvi"). Sama część tekstowa jest akceptowana jako query.

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

Artefakt: name: "pope_profile" z pojedynczą częścią data zawierającą kanoniczny profil papieski — pope_id, primary_name, papal_name, ordinal, pope_title, image_url, coat_of_arms_url, birth_name, origin, pontificate, status beatyfikacji i kanonizacji oraz ewentualne alternates.

Jeśli zapytanie odpowiada wyłącznie duchownemu, który nie jest papieżem, odpowiedź ma postać { "error": "not_found", "hint": "Top match looks like a non-pope clergy member; try get_person." }.

diocese_lookup

Wyszukaj jurysdykcję kościelną (diecezja, archidiecezja, eparchia itp.) z katalogu diecezji (~3 200 jurysdykcji na całym świecie).

Wejście: data.query (np. "Archdiocese of Manila") lub data.source_code (kanoniczny klucz główny, np. "dmaml"). Sama część tekstowa jest akceptowana jako query.

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

Artefakt: name: "diocese_profile" z pojedynczą częścią data zawierającą metadane katalogu (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) oraz:

  • recent_statistics — do 5 lat najważniejszych wskaźników (katolicy, łączna populacja, procent katolików, łączna liczba kapłanów, parafie, chrzty, seminarzyści).
  • latest_financials — najważniejsze wskaźniki najnowszego roku finansowego (łączne przychody, łączne wydatki, aktywa netto, łączne aktywa, nadwyżka/deficyt), gdy są dostępne, wraz z walutą.
  • alternates — gdy pasuje wielu kandydatów.

Do analizy trendów wieloletnich użyj zamiast tego diocese_statistics_lookup.

diocese_statistics_lookup

Zwraca pełny roczny szereg czasowy statystyk dla diecezji — wszystkie 19 wskaźników śledzonych w diocese_statistics.

Wejście: data.query lub data.source_code (jedno jest wymagane), a także opcjonalne włączne ograniczenia:

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

Artefakt: name: "diocese_statistics_time_series" z pojedynczą częścią data zawierającą source_code, diocese_name, year_range: { start, end } oraz tablicę rows. Każdy wiersz zawiera 19 wskaźników na jeden rok: 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.