# Ferramentas · Certificados

> Ferramentas MCP para certificados: listar, criar, duplicar e editar modelos (do padrão da plataforma ou com a arte da marca, com a pré-visualização na conversa), ativar, quem emite no espaço, emitir para pessoas, grupos e tags, reenviar o e-mail, refazer o que falhou, revogar, reemitir e excluir, e os seus próprios certificados.

Tudo o que o espaço [Certificados](/espacos/certificados) faz, pela conversa: montar o modelo (com a pré-visualização como imagem, para você conferir antes), ativar, emitir para uma turma inteira e cuidar do que já foi emitido. Revogar e excluir pedem a sua confirmação. A emissão roda na primeira chamada, por isso o assistente faz antes um ensaio (`dry_run`) que diz quantas pessoas recebem e quem fica de fora.

Cada ferramenta traz um selo: <span class="tool-kind tool-kind-read">Só consulta</span> não muda nada, <span class="tool-kind tool-kind-write">Altera</span> cria ou muda algo na hora, e <span class="tool-kind tool-kind-confirm">Pede confirmação</span> só age depois do seu sim a um resumo. Ver [Dinheiro e confirmação](/mcp/dinheiro-e-confirmacao).

## Em resumo

| Ferramenta | O que faz | Papel mínimo | Tipo |
|---|---|---|---|
| [`list_certificate_templates`](#list-certificate-templates) | Modelos de um espaço de Certificados | Moderador ou administrador | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`get_certificate_template`](#get-certificate-template) | Um modelo, com a pré-visualização como imagem | Moderador ou administrador | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`create_certificate_template`](#create-certificate-template) | Cria um modelo, do padrão da plataforma ou com a arte da marca | Moderador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`update_certificate_template`](#update-certificate-template) | Muda textos, assinantes, caixas e a arte | Moderador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`activate_certificate_template`](#activate-certificate-template) | Ativa ou arquiva um modelo | Moderador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`issue_certificate`](#issue-certificate) | Emite para pessoas, grupos e tags, depois de um ensaio | Moderador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`list_issued_certificates`](#list-issued-certificates) | Os emitidos, com status e busca | Moderador ou administrador | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`revoke_certificate`](#revoke-certificate) | Revoga um certificado | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`reissue_certificate`](#reissue-certificate) | Emite de novo com o nome atual | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`delete_certificate`](#delete-certificate) | Exclui um revogado ou que falhou | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`duplicate_certificate_template`](#duplicate-certificate-template) | Copia um modelo como rascunho novo | Moderador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`update_certificate_space_settings`](#update-certificate-space-settings) | Quem emite no espaço: a equipe ou só os administradores | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`resend_certificate_email`](#resend-certificate-email) | Manda de novo o e-mail do certificado | Moderador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`retry_certificate`](#retry-certificate) | Refaz um certificado que falhou | Moderador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`list_my_certificates`](#list-my-certificates) | Os seus certificados, com código e links | Qualquer | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`set_certificate_indexing`](#set-certificate-indexing) | Mostra ou esconde um certificado seu nos buscadores | Qualquer | <span class="tool-kind tool-kind-write">Altera</span> |

## `list_certificate_templates`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Listar modelos de certificado.** Os modelos de um espaço de Certificados, com nome, slug, tipo e status. *Papel: quem gerencia modelos no espaço (moderador ou administrador, conforme **Quem emite**).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `space` | id ou link | Não | O espaço de Certificados. Sem ele, o único da comunidade |
| `status` | `DRAFT`, `ACTIVE`, `ARCHIVED` | Não | Rascunho, ativo ou arquivado |

**Devolve:** os modelos, com id, nome, slug, tipo (`PLATFORM`, o padrão da plataforma, ou `IMAGE`, a arte própria) e status. Só modelos ativos emitem.

**Peça assim:** *"Quais modelos de certificado estão ativos?"*

## `get_certificate_template`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Ver modelo de certificado.** Um modelo com os textos, os assinantes e as caixas, e **a pré-visualização como imagem**, que aparece na conversa. *Papel: quem gerencia modelos.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `template` | id ou slug | Sim | O modelo |
| `space` | id ou link | Não | O espaço de Certificados |

**Devolve:** o modelo e a imagem da pré-visualização, com um nome de teste.

**Peça assim:** *"Mostre como está o modelo Conclusão de curso."*

## `create_certificate_template`

<span class="tool-kind tool-kind-write">Altera</span>

**Criar modelo de certificado.** Cria um modelo **em rascunho** e devolve a pré-visualização como imagem, na conversa, para você conferir. *Papel: quem gerencia modelos no espaço.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `name` | texto | Sim | O nome interno do modelo |
| `title` | texto, até 255 | Sim | O título impresso, ex.: *Certificado de conclusão* |
| `type` | `PLATFORM`, `IMAGE` | Não | Padrão: `PLATFORM`, o desenho da Memberfy com o logo e as cores da comunidade. `IMAGE` usa a arte da sua marca |
| `description` | texto, até 5.000 | Não | O texto, com `{nome}`, `{assunto}` e `{cargaHoraria}`. Um trecho entre colchetes some quando a variável dele vier vazia: *"concluiu[ {assunto}], com carga de {cargaHoraria} horas"* |
| `workload_hours` | número | Não | |
| `slug` | texto | Não | O endereço curto do modelo |
| `language`, `timezone` | texto | Não | Ex.: `pt-BR`, `America/Sao_Paulo`. Padrão: os da comunidade |
| `signers` | lista, até 2 | Não | Cada um com `name`, `role` e a assinatura por `signature_url` (um PNG com fundo transparente) ou `signature_base64` |
| `image_url` ou `image_base64` | link ou arquivo | No `IMAGE` | A arte, PNG ou JPEG, com pelo menos 2.000 px de largura |
| `layout` | lista de caixas | Não | Só no `IMAGE`: onde vai cada campo (`recipientName`, `issuedAt`, `qr`, `title`, `description`, `workload`, `subjectTitle`, `code`, `signer1`, `signer2`), em % da arte, com fonte, tamanho, cor e alinhamento. Sem ele, valem as **caixas padrão**: o nome no centro, a data embaixo à esquerda e o QR embaixo à direita |
| `font` | `inter`, `montserrat`, `lora`, `playfair-display`, `eb-garamond`, `great-vibes`, `noto-sans` | Não | A fonte do nome nas caixas padrão |
| `text_color` | cor em hex | Não | A cor do texto nas caixas padrão |

**Devolve:** o modelo criado, em rascunho, e a imagem da pré-visualização.

**Peça assim:** *"Crie um modelo de certificado com a arte da nossa marca: https://…/arte.png. Título Certificado de conclusão."*

**Notas:** para emitir, ative com `activate_certificate_template`. Ver a receita [Criar um modelo com a arte da marca](/mcp/receitas#12-criar-um-modelo-com-a-arte-da-marca) e [Certificados](/espacos/certificados).

## `update_certificate_template`

<span class="tool-kind tool-kind-write">Altera</span>

**Editar modelo de certificado.** Muda textos, carga horária, assinantes, caixas do layout, idioma, fuso e a arte. Devolve a pré-visualização nova. *Papel: quem gerencia modelos.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `template` | id ou slug | Sim | O modelo |
| Os demais | | Não | Os mesmos de `create_certificate_template`, menos `type`; só o que for enviado muda |

**Devolve:** o modelo e a imagem da pré-visualização.

**Peça assim:** *"Suba o nome um pouco e deixe a data em cinza."*

**Notas:** se o modelo já emitiu, a versão sobe, e os certificados já emitidos ficam como saíram.

## `activate_certificate_template`

<span class="tool-kind tool-kind-write">Altera</span>

**Ativar ou arquivar modelo.** Ativa um modelo (só ativos emitem) ou o arquiva. *Papel: quem gerencia modelos.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `template` | id ou slug | Sim | O modelo |
| `space` | id ou link | Não | |
| `action` | `activate`, `archive` | Não | Padrão: `activate` |

**Peça assim:** *"Pode ativar o modelo."*

## `issue_certificate`

<span class="tool-kind tool-kind-write">Altera</span>

**Emitir certificados.** Emite certificados de um modelo ativo para pessoas, grupos e tags, com o assunto e a carga horária. *Papel: quem emite no espaço.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `template` | id ou slug | Sim | Um modelo ativo |
| `people` | lista de ids de perfil, até 1.000 | Não | De `list_members` |
| `groups` | lista de ids, até 100 | Não | De `list_groups` |
| `tags` | lista de nomes, até 100 | Não | |
| `subject` | texto | Não | O que foi concluído, ex.: *Excel do Zero* (o `{assunto}` do texto) |
| `workload_hours` | número | Não | |
| `send_email` | sim ou não | Não | Padrão: sim |
| `issue_anyway` | sim ou não | Não | Emite também para quem já tem um certificado vigente deste modelo. Padrão: não |
| `dry_run` | sim ou não | Não | Só o **ensaio**: diz quem recebe e quem fica de fora, sem emitir nada. Padrão: não |
| `space` | id ou link | Não | |

**Devolve:** com `dry_run: true`, o **ensaio**: quantas pessoas recebem, quem é pulado e por quê (por exemplo, quem já tem um vigente). Nada é emitido. Sem `dry_run`, a emissão.

**Peça assim:** *"Emita o certificado de conclusão para o grupo Turma de março, assunto Excel do Zero, 40 horas."*

**Notas:** cada pessoa recebe um e-mail, por isso o assistente roda o ensaio primeiro, mostra quem recebe e quem fica de fora, e só emite depois do seu ok. Quem está em mais de um grupo ou tag recebe um certificado só. Ver a receita [Emitir certificados para a turma](/mcp/receitas#11-emitir-certificados-para-a-turma).

## `list_issued_certificates`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Listar certificados emitidos.** Os certificados de um espaço, com filtro por modelo e status e busca por nome ou código. *Papel: quem emite no espaço.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `space` | id ou link | Não | |
| `template` | id ou slug | Não | |
| `status` | `PENDING`, `ISSUED`, `FAILED`, `REVOKED` | Não | Gerando, emitido, falhou, revogado |
| `search` | texto | Não | Nome ou código |
| `page`, `limit` | número | Não | Paginação |

**Peça assim:** *"Algum certificado da turma de março falhou?"*

## `revoke_certificate`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Revogar certificado.** Revoga um certificado, com um motivo interno. A página pública de verificação passa a dizer que ele foi revogado. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `certificate` | id ou link | Sim | |
| `reason` | texto | Sim | Interno; ninguém de fora vê |

**Peça assim:** *"Revogue o certificado K7Q3-9XWD-2MFA, emitido por engano."*

## `reissue_certificate`

<span class="tool-kind tool-kind-write">Altera</span>

**Reemitir certificado.** Emite de novo, com o nome atual da pessoa. O antigo fica revogado e ligado ao novo. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `certificate` | id ou link | Sim | |
| `send_email` | sim ou não | Não | Padrão: sim |

**Peça assim:** *"A Ana corrigiu o nome no perfil; reemita o certificado dela."*

## `delete_certificate`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Excluir certificado.** Exclui um certificado revogado ou que falhou. Um certificado válido precisa ser revogado antes. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `certificate` | id ou link | Sim | |

**Peça assim:** *"Exclua os certificados que falharam na emissão de ontem."*

## `duplicate_certificate_template`

<span class="tool-kind tool-kind-write">Altera</span>

**Duplicar modelo de certificado.** Copia um modelo como um rascunho novo, para ajustar sem mexer no original. *Papel: quem emite no espaço.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `template_id` | id | Sim | De `list_certificate_templates` |

**Peça assim:** *"Duplique o Certificado de conclusão para eu fazer a versão de participação."*

## `update_certificate_space_settings`

<span class="tool-kind tool-kind-write">Altera</span>

**Alterar quem emite certificados.** Define, num espaço de Certificados, quem emite: a equipe (moderador para cima) ou só os administradores. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `space` | id, link, endereço ou nome | Sim | |
| `who_can_issue` | `staff`, `admins` | Sim | |

**Notas:** muda quem pode fazer o quê na hora.

## `resend_certificate_email`

<span class="tool-kind tool-kind-write">Altera</span>

**Reenviar e-mail do certificado.** Manda de novo o e-mail *"seu certificado chegou"* de um certificado emitido. *Papel: quem emite no espaço.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `certificate` | id ou link | Sim | |

**Peça assim:** *"A Ana não achou o e-mail do certificado; mande de novo."*

## `retry_certificate`

<span class="tool-kind tool-kind-write">Altera</span>

**Refazer certificado que falhou.** Gera de novo um certificado cuja geração falhou e, por padrão, manda o e-mail quando ficar pronto. *Papel: quem emite no espaço.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `certificate` | id ou link | Sim | |
| `send_email` | sim ou não | Não | Padrão: sim |

## `list_my_certificates`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Meus certificados.** Os seus certificados na comunidade, com o código de verificação e os links. *Papel mínimo: qualquer.*

Parâmetros: nenhum.

**Peça assim:** *"Me passe o link do meu certificado do Excel do Zero."*

## `set_certificate_indexing`

<span class="tool-kind tool-kind-write">Altera</span>

**Mostrar certificado em buscadores.** Liga ou desliga **Mostrar em buscadores** na página pública de verificação de um certificado seu. *Papel: quem recebeu o certificado.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `certificate_id` | id | Sim | De `list_my_certificates` |
| `indexable` | sim ou não | Sim | |

## Relacionados

- [Ferramentas](/mcp/ferramentas)
- [Receitas](/mcp/receitas)
- [Dinheiro e confirmação](/mcp/dinheiro-e-confirmacao)
