# Dinero y confirmación

> Qué pide la confirmación en dos pasos en el MCP (el dinero y las eliminaciones) y qué se ejecuta en la primera llamada. El resumen, el código de confirmación de 10 minutos y un solo uso ligado a los mismos valores, el ensayo de la emisión de certificados, el permiso del propio Claude y una conversación de ejemplo.

El asistente hace lo que pides en el momento, como si hubieras hecho clic en el panel. La excepción es lo que **toca el dinero** y lo que **borra**: ahí Memberfy no hace nada en la primera llamada. Devuelve un resumen con los valores reales, y solo actúa después de tu sí explícito, dado en la propia conversación.

## Qué pide confirmación

| Qué | Herramientas | Qué muestra el resumen |
|---|---|---|
| Cupones | `create_coupon`, `update_coupon`, `update_coupon_status`, `delete_coupon` | El código, el descuento, la duración, la validez, los productos; lo que cambia |
| Precio | `update_price` | El precio actual y el nuevo |
| Retiros | `request_payout`, `cancel_payout` | El importe, la comisión de retiro y el saldo |
| Suscripciones | `cancel_subscription`, `create_manual_subscription`, `update_subscription` | La persona, el plan y lo que cambia (cortesía, descuento, extensión, adicional) |
| Última oportunidad (downsell) | `create_downsell_offer`, `update_downsell_offer`, `delete_downsell_offer` | El adicional, el descuento y durante cuánto tiempo vale |
| Tu propia suscripción | `manage_my_subscription`, `change_my_plan`, `cancel_scheduled_plan_change` | Lo que va a pasar con tu suscripción y con lo que pagas; en el cambio de plan, cuánto se cobra ahora en la tarjeta guardada, el próximo cobro, las extensiones, el contrato y el cupón |
| Eliminaciones | toda herramienta que empieza por `delete_`, `remove_`, `revoke_`, `withdraw_` o `cancel_` | Lo que se va a eliminar, quitar, revocar o retirar |

Las eliminaciones incluyen `delete_post`, `delete_comment`, `delete_section`, `delete_space`, `delete_event`, `delete_course`, `delete_course_module`, `delete_lesson`, `delete_gallery_image`, `delete_group`, `delete_tag`, `delete_product`, `delete_plan`, `delete_certificate`, `delete_call_for_papers`, `delete_call_track` y `delete_call_event_date`, además de `remove_member`, `remove_call_owner`, `remove_track_reviewer`, `revoke_certificate` y `withdraw_proposal`. La lista de cada tema, con la etiqueta <span class="tool-kind tool-kind-confirm">Pide confirmación</span>, está en [Herramientas](/mcp/ferramentas#todas-las-herramientas).

## Qué se ejecuta en la primera llamada

Todo lo demás, con la etiqueta <span class="tool-kind tool-kind-write">Modifica</span>: crear y editar publicaciones, eventos, cursos, planes y productos en borrador, publicar, **invitar** a personas, **cambiar el rol** de alguien, cambiar la **configuración de la comunidad**, cambiar **quién ve un espacio**, **emitir, reenviar y rehacer certificados**, decidir y negociar propuestas de la convocatoria, invitar a evaluadores y ponentes y cambiar un plan (`update_plan`).

Esas acciones Memberfy no las retiene, porque se pueden revisar y corregir desde el panel o pidiéndolo de nuevo. Lo que te protege en ellas es la petición de permiso del propio asistente (consulta [El permiso del asistente](#el-permiso-del-asistente)) y las instrucciones de Memberfy, que le indican al asistente que muestre antes quién va a recibir un correo.

### Emitir certificados: primero el ensayo

`issue_certificate` envía un correo a cada persona. Por eso tiene el modo **ensayo** (`dry_run: true`): no emite nada y devuelve cuántas personas lo reciben, quién se queda fuera y por qué (por ejemplo, quien ya tiene un certificado vigente de esa plantilla). El asistente ejecuta el ensayo, muestra el resultado y solo después emite, llamando de nuevo sin el ensayo. Consulta [`issue_certificate`](/mcp/ferramentas-certificados#issue-certificate).

> [!TIP]
> Para las invitaciones, pídelo igual: *"muéstrame la lista antes de invitar"*. El asistente prepara la lista en la conversación y solo llama a `invite_members` después de tu visto bueno.

## Cómo funciona la confirmación

<div class="flow">
<div class="flow-row"><span class="flow-label">1.ª llamada</span><span class="flow-node">El asistente pide la acción</span><span class="flow-arrow">→</span><span class="flow-node">Memberfy no hace nada y devuelve el resumen y un código</span></div>
<div class="flow-row"><span class="flow-label">Tú</span><span class="flow-node">Lees el resumen</span><span class="flow-arrow">→</span><span class="flow-node">Dices sí, o pides un cambio</span></div>
<div class="flow-row"><span class="flow-label">2.ª llamada</span><span class="flow-node">El asistente repite con el código</span><span class="flow-arrow">→</span><span class="flow-node">Memberfy comprueba y ejecuta</span></div>
</div>

1. **La primera llamada no actúa.** Memberfy prepara un **resumen** con los valores reales, leyendo lo que necesita (el precio actual del producto, el saldo, la suscripción), y devuelve con él un **código de confirmación**, que empieza por `mfy_cf_`. La respuesta le dice al asistente: *"Todavía no se hizo nada. Muestra el resumen a la persona y pide un sí explícito."*
2. **El asistente muestra el resumen** y pregunta si puede seguir.
3. **Tú respondes.** "Sí" sigue adelante. "No", o una petición de cambio ("pon un 25 % en lugar de un 30 %"), vuelve a empezar.
4. **La segunda llamada lleva el código**, con exactamente los mismos valores. Memberfy lo comprueba y solo entonces ejecuta.

### Las reglas del código

| Regla | Por qué |
|---|---|
| Vale **10 minutos** | Un sí de ayer no sirve para hoy |
| Sirve **una vez** | Una repetición, o dos llamadas a la vez, no ejecutan la acción dos veces |
| Queda ligado a **los mismos valores** | Si cualquier valor cambia entre el resumen y la ejecución (otro descuento, otro importe de retiro), el código se rechaza. Confirmaste un resumen, y lo que ocurre es ese resumen |
| Queda ligado a la **conexión** y a la **herramienta** | El código de un asistente no sirve en otro, y el de un cupón no sirve para un retiro |

Si falla cualquier regla, la respuesta es: *"Confirmación no válida, vencida, ya usada o con argumentos distintos. Llama a … sin confirmation_token para generar un resumen nuevo."* No ocurre nada, y el asistente vuelve a empezar, con un resumen nuevo.

## Una conversación de ejemplo

> **Tú:** Crea un cupón del 30 % para el Black Friday, solo en el primer cobro, para el plan Growth, hasta 100 usos, válido hasta el 30/11.
>
> **Asistente:** *(llama a `list_products` para encontrar las opciones del Growth, y después a `create_coupon` sin confirmación)*
> Antes de crearlo, revisa:
> - **Código:** BLACK30
> - **Descuento:** 30 %, solo en el primer cobro
> - **Usos:** hasta 100
> - **Validez:** desde ahora hasta el 30/11/2026
> - **Productos:** Growth · Mensual y Growth · Anual
>
> ¿Lo creo?
>
> **Tú:** Sí.
>
> **Asistente:** *(llama de nuevo a `create_coupon`, con los mismos valores y el código)*
> Listo: el cupón **BLACK30** está activo. Quien se suscriba al Growth hasta el 30/11 tiene un 30 % en el primer cobro.

Si hubieras respondido "pon un 25 %", el asistente llamaría de nuevo a `create_coupon` **sin** código, con un 25 %, y mostraría un resumen nuevo. El código del resumen del 30 % ya no sirve.

## El permiso del asistente

Además de la confirmación de Memberfy, el propio asistente te pide permiso antes de usar una herramienta que cambia algo. En Claude.ai, esa petición aparece en la conversación y es de Claude, no de Memberfy: vale para cualquier conector, y las herramientas de dinero y de eliminación van marcadas como destructivas, para que Claude avise con más énfasis.

Si la petición en cada acción te molesta, puedes dejar una herramienta siempre permitida:

- **En la propia conversación**, cuando Claude pide el permiso, suele ofrecer la opción de permitir siempre esa herramienta.
- **En la configuración del conector**, en **Configuración › Conectores**, abre **Memberfy**: la lista muestra las herramientas, y para cada una puedes elegir si Claude pregunta antes o la usa directamente. Los nombres exactos de las opciones son de Claude y pueden cambiar.

Dejar una herramienta siempre permitida **no** desactiva la confirmación de Memberfy: una herramienta de dinero o de eliminación sigue devolviendo primero el resumen y solo actúa después de tu sí. Por eso tiene sentido permitir siempre las de consulta y las del día a día (publicaciones, eventos, cursos) y mantener la petición en las que envían correo a otras personas, como `invite_members` e `issue_certificate`.

ChatGPT tiene una petición de aprobación parecida, también suya. Consulta [Conectar Claude](/mcp/conectar-o-claude) y [Conectar ChatGPT](/mcp/conectar-o-chatgpt).

## Buenas prácticas

- **Lee el resumen, no la pregunta.** El resumen viene de Memberfy, con los valores que se van a aplicar; la pregunta es del asistente.
- **Confirma de uno en uno.** Para varios cupones o varias eliminaciones, pide un resumen de cada uno.
- **Desconfía de un "sí" que no has dado.** El asistente solo debe repetir la llamada después de que respondas. Si ejecuta sin preguntar, desconéctalo y revisa el historial de la conexión (consulta [Seguridad y límites](/mcp/seguranca#auditoria)).

## Preguntas frecuentes

**¿Y si tardo más de 10 minutos en responder?**
El código caduca. Di "sí" de todos modos: el asistente recibe el rechazo, pide un resumen nuevo y te lo vuelve a mostrar.

**¿El asistente puede confirmar solo?**
Técnicamente, el código le llega. Las instrucciones de Memberfy le indican que espere tu sí explícito, y los asistentes las siguen. Por eso la regla de oro es: lo que toca el dinero o borra, lo lees y lo respondes tú.

**¿Invitar a un grupo pide confirmación?**
No de Memberfy: la invitación sale en la primera llamada. Claude sigue pidiendo su permiso, si la herramienta no está como siempre permitida, y las instrucciones de Memberfy le indican al asistente que muestre antes quién va a recibir el correo. Para asegurarte, pide *"muéstrame la lista antes de invitar"*.

**¿Cambiar el rol de alguien o la configuración pide confirmación?**
No. Las dos cosas se ejecutan en la primera llamada y se pueden deshacer desde el panel o pidiéndolo de nuevo. El rol de un propietario sigue cambiándolo solo otro propietario.

**¿Publicar un producto pide confirmación?**
No. `publish_product` pone a la venta lo que ya revisaste en borrador, como el botón del panel. Cambiar un precio o crear un descuento, sí.

## Relacionados

- [Herramientas](/mcp/ferramentas#piden-confirmacion)
- [Seguridad y límites](/mcp/seguranca)
