Magisterium AI

Навыки

Magisterium AI предоставляет следующие навыки через протокол A2A. Укажите используемый навык через metadata.skillId в сообщении. Если skillId опущен, по умолчанию используется catholic_qa.

НавыкIDОписание
Католический Q&Acatholic_qaПолноценный Q&A с цитатами из 29 000+ документов Магистериума, Писания и Отцов Церкви.
Поиск по документам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 показателей, по одной строке на год.

Все навыки вызываются с помощью 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" }
    }
  }
}

Ответы всегда возвращаются в виде Task (kind: "task") со status.state: "completed" и одним или несколькими artifacts. Каждый артефакт имеет уникальный artifactId, специфичное для навыка name и одну или несколько parts (text, data или file).


catholic_qa

Задайте вопрос на естественном языке и получите подробный ответ с цитатами. Это самый мощный (и наиболее ресурсоёмкий) навык — он работает с той же моделью, что питает magisterium.com.

Входные данные: одна text-часть с вопросом.

Артефакт: name: "catholic_qa_response", содержащий:

  • text-часть с полным ответом.
  • data-часть с citations (когда использовались какие-либо источники).
  • data-часть с related_questions (когда модель возвращает предложения).
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.

Входные данные: одна text-часть с запросом.

Артефакт: name: "search_results" с одной data-частью:

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

Используйте поле id из результата, чтобы вызвать document_fetch для получения полного текста.

document_fetch

Получение полного текста и метаданных документа по его ID. Этот навык принимает data-часть вместо text-части:

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

Если вызывающая сторона отправляет text-часть, обработчик по умолчанию рассматривает её как ID документа.

Артефакт: name: "document" с двумя частями:

  • text-часть, содержащая тело документа.
  • data-часть с { id, title, author, ref }.

Если документ не найден, артефакт содержит одну text-часть со значением "Document not found.".

liturgical_readings

Получение католических чтений Мессы на заданную дату. Принимает запрос даты на естественном языке — например, "today", "next Sunday" или "Easter Sunday 2026".

Входные данные: одна text-часть с запросом даты.

Артефакт: name: "mass_readings" с одной text-частью, содержащей отформатированные чтения. Если на запрошенную дату чтений нет, часть содержит "No mass readings found.".

saints_of_the_day

Узнайте, какие святые поминаются в заданный день, согласно Римскому Мартирологу.

Входные данные: data-часть с абсолютной датой, или text-часть, рассматриваемая как запрос даты:

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

Артефакт: name: "martyrology" с одной text-частью, содержащей отформатированную запись мартиролога. Отсутствующие даты возвращают "No martyrology data found.".


Пять навыков ниже представляют собой поиск по справочникам. Каждый из них принимает запрос на естественном языке query (как text-часть или поле data.query), а также необязательный канонический ID, и возвращает структурированный профиль внутри одной data-части. Если ни query, ни канонический ID не указаны, запрос отклоняется с ошибкой INVALID_PARAMS (-32602).

Когда запрос не удаётся разрешить, артефакт содержит data-часть вида { "error": "not_found", "query": "...", "hint"?: "..." } вместо профиля. При этом сама задача успешно завершается — not_found является нормальным результатом поиска, а не ошибкой протокола.

saint_lookup

Поиск святого, блаженного, досточтимого или слуги Божьего в справочнике cd_saints (~12 500 фигур).

Входные данные: data.query (например, "Therese of Lisieux") или data.saint_id (канонический первичный ключ, например, "jerome"). Простая text-часть принимается как query.

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

Артефакт: name: "saint_profile" с одной data-частью, содержащей канонический профиль — saint_id, primary_name, canonical_status, vocation, image_url, learn_more_url, сведения о жизни и смерти, день памяти, дело о канонизации, покровительство, иконография, биография и (если найдено несколько кандидатов) массив alternates.

person_lookup

Поиск католического духовного лица (епископа, кардинала, архиепископа и т. д.) в справочниках cd_persons (живущие, ~3 500) и cd_persons_historical (~2 200). Папы доступны через отдельный навык pope_lookup.

Входные данные: data.query (например, "Cardinal Tagle") или data.person_id (канонический первичный ключ). Простая text-часть принимается как query.

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

Артефакт: name: "person_profile" с одной data-частью, содержащей канонический профиль — person_id, source_table, primary_name, current_position, image_url, coat_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"). Простая text-часть принимается как query.

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

Артефакт: name: "pope_profile" с одной data-частью, содержащей канонический папский профиль — pope_id, primary_name, papal_name, ordinal, pope_title, image_url, coat_of_arms_url, birth_name, origin, pontificate, статус беатификации и канонизации, а также любые 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"). Простая text-часть принимается как query.

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

Артефакт: name: "diocese_profile" с одной data-частью, содержащей метаданные справочника (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), а также:

  • recent_statistics — до 5 лет ключевых показателей (католики, общая численность населения, процент католиков, общее число священников, приходы, крещения, семинаристы).
  • latest_financials — ключевые показатели последнего отчётного финансового года (общие доходы, общие расходы, чистые активы, общие активы, профицит/дефицит) при наличии, с указанием валюты.
  • alternates — когда подходит несколько кандидатов.

Для анализа многолетних тенденций используйте diocese_statistics_lookup.

diocese_statistics_lookup

Возвращает полный годовой временной ряд статистики по епархии — все 19 показателей, отслеживаемых в diocese_statistics.

Входные данные: data.query или data.source_code (одно обязательно), плюс необязательные включающие границы:

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

Артефакт: name: "diocese_statistics_time_series" с одной data-частью, содержащей source_code, diocese_name, year_range: { start, end } и массив rows. Каждая строка содержит 19 показателей за один год: 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.