# Herramientas · Certificados

> Herramientas MCP para certificados: listar, crear, duplicar y editar plantillas (con el diseño de la plataforma o el de la marca, con la vista previa en la conversación), activar, quién emite en el espacio, emitir para personas, grupos y etiquetas, reenviar el correo, rehacer lo que falló, revocar, reemitir y eliminar, y tus propios certificados.

Todo lo que hace el espacio [Certificados](/espacos/certificados), desde la conversación: montar la plantilla (con la vista previa como imagen, para que la compruebes antes), activarla, emitir para una clase entera y cuidar de lo que ya se ha emitido. Revocar y eliminar piden tu confirmación. La emisión se ejecuta en la primera llamada, por eso el asistente hace antes un ensayo (`dry_run`) que dice cuántas personas lo reciben y quién se queda fuera.

Cada herramienta lleva un sello: <span class="tool-kind tool-kind-read">Solo consulta</span> no cambia nada, <span class="tool-kind tool-kind-write">Modifica</span> crea o cambia algo al momento, y <span class="tool-kind tool-kind-confirm">Pide confirmación</span> solo actúa después de tu sí a un resumen. Consulta [Dinero y confirmación](/mcp/dinheiro-e-confirmacao).

## En resumen

| Herramienta | Qué hace | Rol mínimo | Tipo |
|---|---|---|---|
| [`list_certificate_templates`](#list-certificate-templates) | Las plantillas de un espacio de Certificados | Moderador o administrador | <span class="tool-kind tool-kind-read">Solo consulta</span> |
| [`get_certificate_template`](#get-certificate-template) | Una plantilla, con la vista previa como imagen | Moderador o administrador | <span class="tool-kind tool-kind-read">Solo consulta</span> |
| [`create_certificate_template`](#create-certificate-template) | Crea una plantilla, con el diseño de la plataforma o el de la marca | Moderador o administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_certificate_template`](#update-certificate-template) | Cambia textos, firmantes, cajas y el diseño | Moderador o administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`activate_certificate_template`](#activate-certificate-template) | Activa o archiva una plantilla | Moderador o administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`issue_certificate`](#issue-certificate) | Emite para personas, grupos y etiquetas, después de un ensayo | Moderador o administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`list_issued_certificates`](#list-issued-certificates) | Los emitidos, con estado y búsqueda | Moderador o administrador | <span class="tool-kind tool-kind-read">Solo consulta</span> |
| [`revoke_certificate`](#revoke-certificate) | Revoca un certificado | Administrador | <span class="tool-kind tool-kind-confirm">Pide confirmación</span> |
| [`reissue_certificate`](#reissue-certificate) | Lo emite de nuevo con el nombre actual | Administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`delete_certificate`](#delete-certificate) | Elimina uno revocado o que falló | Administrador | <span class="tool-kind tool-kind-confirm">Pide confirmación</span> |
| [`duplicate_certificate_template`](#duplicate-certificate-template) | Copia una plantilla como un borrador nuevo | Moderador o administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_certificate_space_settings`](#update-certificate-space-settings) | Quién emite en el espacio: el equipo o solo los administradores | Administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`resend_certificate_email`](#resend-certificate-email) | Vuelve a enviar el correo del certificado | Moderador o administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`retry_certificate`](#retry-certificate) | Rehace un certificado que falló | Moderador o administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`list_my_certificates`](#list-my-certificates) | Tus certificados, con código y enlaces | Cualquiera | <span class="tool-kind tool-kind-read">Solo consulta</span> |
| [`set_certificate_indexing`](#set-certificate-indexing) | Muestra u oculta un certificado tuyo en los buscadores | Cualquiera | <span class="tool-kind tool-kind-write">Modifica</span> |

## `list_certificate_templates`

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

**Listar plantillas de certificado.** Las plantillas de un espacio de Certificados, con nombre, slug, tipo y estado. *Rol: quien gestiona plantillas en el espacio (moderador o administrador, según **Quién emite**).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `space` | id o enlace | No | El espacio de Certificados. Sin él, el único de la comunidad |
| `status` | `DRAFT`, `ACTIVE`, `ARCHIVED` | No | Borrador, activa o archivada |

**Devuelve:** las plantillas, con id, nombre, slug, tipo (`PLATFORM`, el diseño de la plataforma, o `IMAGE`, el diseño propio) y estado. Solo las plantillas activas emiten.

**Pídelo así:** *"¿Qué plantillas de certificado están activas?"*

## `get_certificate_template`

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

**Ver plantilla de certificado.** Una plantilla con los textos, los firmantes y las cajas, y **la vista previa como imagen**, que aparece en la conversación. *Rol: quien gestiona plantillas.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `template` | id o slug | Sí | La plantilla |
| `space` | id o enlace | No | El espacio de Certificados |

**Devuelve:** la plantilla y la imagen de la vista previa, con un nombre de prueba.

**Pídelo así:** *"Enséñame cómo está la plantilla Finalización de curso."*

## `create_certificate_template`

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

**Crear plantilla de certificado.** Crea una plantilla **en borrador** y devuelve la vista previa como imagen, en la conversación, para que la compruebes. *Rol: quien gestiona plantillas en el espacio.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `name` | texto | Sí | El nombre interno de la plantilla |
| `title` | texto, hasta 255 | Sí | El título impreso, p. ej. *Certificado de finalización* |
| `type` | `PLATFORM`, `IMAGE` | No | Por defecto: `PLATFORM`, el diseño de Memberfy con el logo y los colores de la comunidad. `IMAGE` usa el diseño de tu marca |
| `description` | texto, hasta 5.000 | No | El texto, con `{nome}`, `{assunto}` y `{cargaHoraria}`. Un fragmento entre corchetes desaparece cuando su variable viene vacía: *"concluiu[ {assunto}], com carga de {cargaHoraria} horas"* |
| `workload_hours` | número | No | |
| `slug` | texto | No | La dirección corta de la plantilla |
| `language`, `timezone` | texto | No | P. ej. `pt-BR`, `America/Sao_Paulo`. Por defecto: los de la comunidad |
| `signers` | lista, hasta 2 | No | Cada uno con `name`, `role` y la firma como `signature_url` (un PNG con fondo transparente) o `signature_base64` |
| `image_url` o `image_base64` | enlace o archivo | En `IMAGE` | El diseño, PNG o JPEG, de al menos 2.000 px de ancho |
| `layout` | lista de cajas | No | Solo en `IMAGE`: dónde va cada campo (`recipientName`, `issuedAt`, `qr`, `title`, `description`, `workload`, `subjectTitle`, `code`, `signer1`, `signer2`), en % del diseño, con fuente, tamaño, color y alineación. Sin él, se usan las **cajas por defecto**: el nombre en el centro, la fecha abajo a la izquierda y el QR abajo a la derecha |
| `font` | `inter`, `montserrat`, `lora`, `playfair-display`, `eb-garamond`, `great-vibes`, `noto-sans` | No | La fuente del nombre en las cajas por defecto |
| `text_color` | color en hex | No | El color del texto en las cajas por defecto |

**Devuelve:** la plantilla creada, en borrador, y la imagen de la vista previa.

**Pídelo así:** *"Crea una plantilla de certificado con el diseño de nuestra marca: https://…/diseno.png. Título Certificado de finalización."*

**Notas:** para emitir, actívala con `activate_certificate_template`. Consulta la receta [Crear una plantilla con el diseño de la marca](/mcp/receitas#12-crear-una-plantilla-con-el-diseno-de-la-marca) y [Certificados](/espacos/certificados).

## `update_certificate_template`

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

**Editar plantilla de certificado.** Cambia textos, carga horaria, firmantes, cajas del diseño, idioma, zona horaria y el diseño. Devuelve la vista previa nueva. *Rol: quien gestiona plantillas.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `template` | id o slug | Sí | La plantilla |
| Los demás | | No | Los mismos de `create_certificate_template`, menos `type`; solo cambia lo que se envíe |

**Devuelve:** la plantilla y la imagen de la vista previa.

**Pídelo así:** *"Sube un poco el nombre y pon la fecha en gris."*

**Notas:** si la plantilla ya ha emitido, sube de versión, y los certificados ya emitidos se quedan como salieron.

## `activate_certificate_template`

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

**Activar o archivar plantilla.** Activa una plantilla (solo las activas emiten) o la archiva. *Rol: quien gestiona plantillas.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `template` | id o slug | Sí | La plantilla |
| `space` | id o enlace | No | |
| `action` | `activate`, `archive` | No | Por defecto: `activate` |

**Pídelo así:** *"Ya puedes activar la plantilla."*

## `issue_certificate`

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

**Emitir certificados.** Emite certificados de una plantilla activa para personas, grupos y etiquetas, con el asunto y la carga horaria. *Rol: quien emite en el espacio.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `template` | id o slug | Sí | Una plantilla activa |
| `people` | lista de ids de perfil, hasta 1.000 | No | De `list_members` |
| `groups` | lista de ids, hasta 100 | No | De `list_groups` |
| `tags` | lista de nombres, hasta 100 | No | |
| `subject` | texto | No | Lo que se ha completado, p. ej. *Excel desde cero* (el `{assunto}` del texto) |
| `workload_hours` | número | No | |
| `send_email` | sí o no | No | Por defecto: sí |
| `issue_anyway` | sí o no | No | Emite también para quien ya tiene un certificado vigente de esta plantilla. Por defecto: no |
| `dry_run` | sí o no | No | Solo el **ensayo**: dice quién lo recibe y quién se queda fuera, sin emitir nada. Por defecto: no |
| `space` | id o enlace | No | |

**Devuelve:** con `dry_run: true`, el **ensayo**: cuántas personas lo reciben, a quién se salta y por qué (por ejemplo, quien ya tiene uno vigente). No se emite nada. Sin `dry_run`, la emisión.

**Pídelo así:** *"Emite el certificado de finalización para el grupo Clase de marzo, asunto Excel desde cero, 40 horas."*

**Notas:** cada persona recibe un correo, por eso el asistente ejecuta primero el ensayo, muestra quién lo recibe y quién se queda fuera, y solo emite después de tu visto bueno. Quien está en más de un grupo o etiqueta recibe un solo certificado. Consulta la receta [Emitir certificados para la clase](/mcp/receitas#11-emitir-certificados-para-la-clase).

## `list_issued_certificates`

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

**Listar certificados emitidos.** Los certificados de un espacio, con filtro por plantilla y estado y búsqueda por nombre o código. *Rol: quien emite en el espacio.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `space` | id o enlace | No | |
| `template` | id o slug | No | |
| `status` | `PENDING`, `ISSUED`, `FAILED`, `REVOKED` | No | Generándose, emitido, falló, revocado |
| `search` | texto | No | Nombre o código |
| `page`, `limit` | número | No | Paginación |

**Pídelo así:** *"¿Ha fallado algún certificado de la clase de marzo?"*

## `revoke_certificate`

<span class="tool-kind tool-kind-confirm">Pide confirmación</span>

**Revocar certificado.** Revoca un certificado, con un motivo interno. La página pública de verificación pasa a decir que fue revocado. *Rol mínimo: administrador.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `certificate` | id o enlace | Sí | |
| `reason` | texto | Sí | Interno; nadie de fuera lo ve |

**Pídelo así:** *"Revoca el certificado K7Q3-9XWD-2MFA, se emitió por error."*

## `reissue_certificate`

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

**Reemitir certificado.** Lo emite de nuevo con el nombre actual de la persona. El antiguo queda revocado y vinculado al nuevo. *Rol mínimo: administrador.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `certificate` | id o enlace | Sí | |
| `send_email` | sí o no | No | Por defecto: sí |

**Pídelo así:** *"Ana ha corregido su nombre en el perfil; reemite su certificado."*

## `delete_certificate`

<span class="tool-kind tool-kind-confirm">Pide confirmación</span>

**Eliminar certificado.** Elimina un certificado revocado o que falló. Un certificado válido tiene que revocarse antes. *Rol mínimo: administrador.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `certificate` | id o enlace | Sí | |

**Pídelo así:** *"Elimina los certificados que fallaron en la emisión de ayer."*

## `duplicate_certificate_template`

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

**Duplicar plantilla de certificado.** Copia una plantilla como un borrador nuevo, para ajustarla sin tocar la original. *Rol: quien emite en el espacio.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `template_id` | id | Sí | De `list_certificate_templates` |

**Pídelo así:** *"Duplica el Certificado de finalización para hacer la versión de participación."*

## `update_certificate_space_settings`

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

**Cambiar quién emite certificados.** Define, en un espacio de Certificados, quién emite: el equipo (de moderador para arriba) o solo los administradores. *Rol mínimo: administrador.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `space` | id, enlace, dirección o nombre | Sí | |
| `who_can_issue` | `staff`, `admins` | Sí | |

**Notas:** cambia quién puede hacer qué al momento.

## `resend_certificate_email`

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

**Reenviar e-mail del certificado.** Vuelve a enviar el correo *"tu certificado ha llegado"* de un certificado emitido. *Rol: quien emite en el espacio.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `certificate` | id o enlace | Sí | |

**Pídelo así:** *"Ana no encuentra el correo del certificado; envíaselo de nuevo."*

## `retry_certificate`

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

**Reintentar certificado fallido.** Vuelve a generar un certificado cuya generación falló y, por defecto, envía el correo cuando esté listo. *Rol: quien emite en el espacio.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `certificate` | id o enlace | Sí | |
| `send_email` | sí o no | No | Por defecto: sí |

## `list_my_certificates`

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

**Mis certificados.** Tus certificados en la comunidad, con el código de verificación y los enlaces. *Rol mínimo: cualquiera.*

Parámetros: ninguno.

**Pídelo así:** *"Pásame el enlace de mi certificado de Excel desde cero."*

## `set_certificate_indexing`

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

**Mostrar certificado en buscadores.** Activa o desactiva **Mostrar en buscadores** en la página pública de verificación de un certificado tuyo. *Rol: quien recibió el certificado.*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `certificate_id` | id | Sí | De `list_my_certificates` |
| `indexable` | sí o no | Sí | |

## Relacionados

- [Herramientas](/mcp/ferramentas)
- [Recetas](/mcp/receitas)
- [Dinero y confirmación](/mcp/dinheiro-e-confirmacao)
