Servidor MCP para agentes de IA
Fidelizador expone su operación de email transaccional como un servidor MCP (Model Context Protocol): un canal por el cual un agente de IA (por ejemplo Claude.ai / Cowork o Claude Code) consulta reportes y envía correos en lenguaje natural. Es un BFF para agentes — el cliente es un agente en vez de un navegador. No reemplaza la API pública REST; es una capa conversacional sobre las mismas operaciones.
Alcance (Etapa 1). El foco es transaccional: envíos puntuales, consulta de reportes, y lectura/activación de configuración existente (formularios, plantillas, remitentes, consentimiento). No hay gestión de campañas ni de listas/audiencias persistentes en este canal, y crear, editar contenido o eliminar un recurso (una plantilla, un formulario, un remitente) sigue siendo exclusivo del panel — ver Qué puede hacer.
Qué es
El agente se conecta al servidor MCP, usted inicia sesión con su cuenta de Fidelizador (la misma con la que accede a la plataforma) y a partir de ahí conversa con el asistente para operar. El servidor traduce cada intención a las operaciones de la plataforma; el agente nunca ve credenciales internas ni datos de otras instancias.
Qué puede hacer
A través del agente, en lenguaje natural:
Sus instancias
- Listar las instancias de Fidelizador que usted administra, para indicar sobre cuál operar cuando tiene varias.
Reportes y análisis
- Entregabilidad por período: enviados, entregados, rebotes, quejas, con tasas y tendencia.
- Actividad: listado de eventos (enviados, rebotes, quejas, aperturas, clics), filtrable; incluye consultar el estado de un envío específico por su identificador.
- Estado y bitácora de un correo puntual: metadatos de un correo por su ID y su log de entrega.
- Aperturas y clics por país y por dispositivo.
- Desuscripciones: listado con fecha y motivo, y un desglose (breakdown) por período.
- Estadísticas por remitente: desempeño de un remitente en un período.
- Uso del plan: consumo actual vs el límite contratado (dominios, remitentes, cuota de envío, usuarios), por si necesita saber cuánto le queda antes de un envío grande.
Configuración — lectura y activación
- Remitentes: los verificados, el detalle de uno puntual (por nombre, email o ID), y su configuración de consentimiento.
- Dominios de envío y su verificación.
- Plantillas: disponibles, su contenido, su historial de versiones, y publicarlas o despublicarlas (habilitar/deshabilitar para envíos — no edita el contenido).
- Formularios: los que tiene la instancia y su detalle (ítems, link público, estado). Solo lectura — activar, desactivar o cambiar el link público de un formulario es exclusivo del panel: un formulario de captura de consentimiento que se desactiva por error es un evento de cumplimiento, no un ajuste menor, así que esa acción queda fuera de este canal a propósito.
- Consentimiento (Ley 21.719): el estado vigente por identificador (el mismo que consulta un envío antes de descartar un destinatario), el historial de eventos, los términos y las finalidades declaradas.
- Campos personalizados disponibles para armar formularios.
Crear, editar contenido (el HTML de una plantilla, la estructura de un formulario) o eliminar cualquiera de estos recursos sigue siendo exclusivo del panel.
Envío transaccional
- Enviar un correo transaccional a uno o varios destinatarios. Soporta envíos transaccionales a múltiples destinatarios a la vez (por ejemplo, una notificación a un conjunto de clientes) — el servidor los trocea internamente. No es una herramienta de campañas de marketing. Cuando el envío supera cierto volumen, pide confirmación (ver abajo).
Sandbox
- Consultar el catálogo de escenarios simulables y simular un envío (entregas, rebotes, quejas, aperturas, clics) sin tocar destinatarios reales, viendo sus métricas. Útil para validar la integración antes de enviar de verdad.
El propio servidor expone al agente el catálogo vigente de herramientas y sus parámetros — la tabla de abajo es la referencia legible para una persona.
Catálogo de herramientas
Las herramientas marcadas [ACTION] modifican estado (envían, activan, publican, etc.); el resto son de solo lectura.
| Categoría | Herramienta | Qué hace |
|---|---|---|
| Cuenta | list_instances | Instancias que usted administra. |
| Métricas | get_delivery_metrics | Entregabilidad agregada del período, con tasas y tendencia. |
| Métricas | get_geographic_stats | Aperturas/clics por país. |
| Métricas | get_device_stats | Aperturas/clics por dispositivo. |
| Métricas | get_unsubscribe_breakdown | Distribución de bajas por motivo. |
| Métricas | get_sender_stats | Entregabilidad de un remitente específico. |
| Actividad | list_activity | Eventos individuales: enviados, rebotes, quejas, aperturas, clics. |
| Actividad | list_unsubscribes | Bajas con fecha y motivo. |
| Actividad | get_mail | Estado y metadatos de un correo puntual. |
| Actividad | get_mail_logs | Bitácora de entrega SMTP de un correo. |
| Envío | send_mail [ACTION] | Envía a una lista de destinatarios, con plantilla o contenido propio. |
| Envío | import_recipients [ACTION] | Importa destinatarios desde una URL o Google Drive/Sheets y devuelve una referencia efímera para el envío. |
| Remitentes | list_senders | Remitentes verificados. |
| Remitentes | get_sendersearch_senders_by_namesearch_senders_by_email | Detalle o búsqueda de un remitente puntual. |
| Remitentes | get_sender_consent | Si un remitente exige consentimiento y contra qué finalidades. |
| Dominios | list_domains | Dominios de envío y su verificación. |
| Plantillas | list_templatesget_template | Plantillas disponibles y el contenido de una. |
| Plantillas | list_template_versionsget_template_version | Historial de versiones de una plantilla. |
| Plantillas | publish_template · unpublish_template [ACTION] | Habilita o deshabilita una plantilla para usarse en envíos. |
| Formularios | list_formsget_form | Formularios de la instancia y su detalle (ítems, estado, link público completo). Solo lectura — activar/desactivar y rotar el link se gestionan desde el panel. |
| Consentimiento | list_consent_rules | Estado vigente de consentimiento por identificador. |
| Consentimiento | list_consent_events | Historial de eventos de consentimiento. |
| Consentimiento | list_consent_termslist_consent_purposes | Términos y finalidades declaradas. |
| Consentimiento | list_fields | Catálogo de campos personalizados. |
| Facturación | get_plan_usage | Uso actual vs el límite del plan, por entitlement. |
| Sandbox | sandbox_catalog | Escenarios que el sandbox puede simular. |
| Sandbox | simulate_scenario [ACTION] | Simula una campaña sin tocar destinatarios reales. |
Ejemplos de uso
Pídale al agente en su propio idioma — estos son solo ejemplos de la clase de pregunta o instrucción que entiende:
Reportes
- "¿Cómo viene la entregabilidad de esta semana?"
- "Mostrame los correos que rebotaron hoy"
- "¿Cuánto abrieron y clickearon los envíos del mes pasado, por país?"
- "¿Cuánto llevo usado de mi cuota de envío este mes?"
Envío [ACTION]
- "Envía un correo de bienvenida a juan@ejemplo.com usando la plantilla Onboarding"
- "Mandale esta notificación a los 200 emails de esta planilla de Google Sheets"
Formularios y consentimiento
- "¿Qué formularios tiene la instancia y cuáles están activos?"
- "¿Este contacto tiene consentimiento vigente para marketing?"
- "¿Qué ítems tiene el formulario de newsletter y a qué término de consentimiento apunta?"
Plantillas y remitentes
- "¿Qué dice el contenido de la plantilla Bienvenida?"
- "Publicá la plantilla que acabamos de revisar" [ACTION]
- "¿El remitente ventas@miempresa.com exige consentimiento?"
Sandbox
- "Simulá 100 envíos con 10% de rebotes y 60% de apertura, sin tocar destinatarios reales" [ACTION]
Seguridad y límites
- Aislamiento por instancia: el agente opera solo sobre las instancias de su usuario; la autorización la valida el servidor a partir de su token, no se reimplementa en este canal. Un intento de operar una instancia ajena se rechaza.
- El agente no ve la lista de destinatarios: al cargar una lista recibe solo una referencia; los datos completos quedan en el servidor y se consumen al enviar.
- Sin paso de credenciales por el agente: las autorizaciones de terceros (Google) ocurren fuera del contexto del agente, con alcance de solo lectura.
- Confirmación de envíos de alto volumen: ver arriba.
- Límites configurables por el operador: un tope de llamadas por minuto (rate limit) — un mismo valor global aplicado de forma independiente a cada instancia—, un tope de destinatarios por envío/carga, el umbral de volumen a partir del cual se pide confirmación, y un tope de destinatarios por simulación en sandbox. Al alcanzar un límite, el agente recibe un aviso.
- Cotas de la descarga al cargar una lista: un tamaño máximo de archivo — medido tanto en lo transferido como en lo descomprimido, para que un archivo comprimido no exceda el tope al expandirse— y un tiempo máximo total. El origen debe ser
https: una URLhttp, o unahttpsque redirija ahttp, se rechaza, porque sobre texto plano un tercero puede alterar la lista de destinatarios en tránsito.