Habilidades
O Magisterium AI expõe as seguintes habilidades através do protocolo A2A. Especifique a habilidade a utilizar através de metadata.skillId na mensagem. Se skillId for omitido, catholic_qa é usada por predefinição.
| Habilidade | ID | Descrição |
|---|---|---|
| Perguntas e respostas católicas | catholic_qa | Perguntas e respostas completas com citações de mais de 29.000 documentos do Magistério, Sagrada Escritura e Padres da Igreja. |
| Pesquisa de documentos | document_search | Pesquisa semântica em documentos do Magistério, encíclicas, secções do catecismo e direito canónico. |
| Obtenção de documentos | document_fetch | Obter o texto completo e os metadados de um documento específico pelo seu ID. |
| Leituras litúrgicas | liturgical_readings | Obtenha as leituras da Missa católica para qualquer data ou ocasião litúrgica. |
| Santos do dia | saints_of_the_day | Obtenha os santos comemorados numa data específica segundo o Martirológio Romano. |
Todas as habilidades são invocadas através do método JSON-RPC message/send.
{
"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" }
}
}
}As respostas são sempre devolvidas como uma Task (kind: "task") com status.state: "completed" e um ou mais artifacts. Cada artefacto tem um artifactId único, um name específico da habilidade e uma ou mais parts (text, data ou file).
catholic_qa
Coloque uma pergunta em linguagem natural e receba uma resposta extensa com citações. Esta é a habilidade mais capaz (e mais exigente em termos de recursos) — é executada no mesmo modelo que alimenta o magisterium.com.
Entrada: uma única parte de texto com a pergunta.
Artefacto: name: "catholic_qa_response" contendo:
- Uma parte
textcom a resposta completa. - Uma parte
datacomcitations(quando foram utilizadas fontes). - Uma parte
datacomrelated_questions(quando o modelo devolve sugestões).
{
"artifactId": "art_...",
"name": "catholic_qa_response",
"parts": [
{ "kind": "text", "text": "The Catholic Church teaches..." },
{ "kind": "data", "data": { "citations": [ /* ... */ ] } },
{ "kind": "data", "data": { "related_questions": [ /* ... */ ] } }
]
}
catholic_qautiliza uma variante de limite de utilização mais estrita do que as restantes habilidades. Consulte Referência da API → Limites de utilização.
document_search
Obtém referências a documentos que correspondam a uma consulta semântica na base de conhecimento do Magisterium.
Entrada: uma única parte de texto com a consulta.
Artefacto: name: "search_results" com uma única parte data:
{
"artifactId": "art_...",
"name": "search_results",
"parts": [
{
"kind": "data",
"data": {
"results": [
{ "id": "12345", "url": "https://...", "title": "Lumen Gentium" }
]
}
}
]
}Use o campo id de um resultado para chamar document_fetch e obter o texto completo.
document_fetch
Obtém o texto completo e os metadados de um documento pelo seu ID. Esta habilidade aceita uma parte data em vez de uma parte de texto:
{
"parts": [{ "kind": "data", "data": { "id": "12345" } }]
}Se o chamador enviar uma parte de texto, o handler trata-a como o ID do documento.
Artefacto: name: "document" com duas partes:
- Uma parte
textcontendo o corpo do documento. - Uma parte
datacom{ id, title, author, ref }.
Se o documento não for encontrado, o artefacto contém uma única parte text com o texto "Document not found.".
liturgical_readings
Obtenha as leituras da Missa católica para uma dada data. Aceita uma consulta de data em linguagem natural — por exemplo, "today", "next Sunday" ou "Easter Sunday 2026".
Entrada: uma única parte de texto com a consulta de data.
Artefacto: name: "mass_readings" com uma única parte text contendo as leituras formatadas. Se não houver leituras disponíveis para a data solicitada, a parte apresentará "No mass readings found.".
saints_of_the_day
Consulte os santos comemorados numa dada data segundo o Martirológio Romano.
Entrada: uma parte data com uma data absoluta, ou uma parte de texto tratada como consulta de data:
{
"parts": [{ "kind": "data", "data": { "date": "2026-03-19" } }]
}Artefacto: name: "martyrology" com uma única parte text contendo a entrada do martirológio formatada. Datas sem dados devolvem "No martyrology data found.".