Mautic

Se integra con la plataforma de automatización de marketing Mautic.

Documentación

Servidor MCP de Mautic

Un servidor completo del Protocolo de Contexto de Modelos (MCP) para la plataforma de automatización de marketing Mautic 7 (Edición Columba). Soporta endpoints tanto v1 (FOSRestBundle) como v2 (API Platform) con 68 herramientas.

GitHub Stars GitHub Issues GitHub License

Inicio Rápido

# Clone and setup
git clone https://github.com/Cbrown35/mantic-MCP.git
cd mantic-MCP
npm install

# Configure your Mautic credentials
cp .env.example .env
# Edit .env with your Mautic API credentials

# Build and run
npm run build

Luego agrega el servidor a tu configuración de MCP y comienza a usar comandos en lenguaje natural como:

  • "Buscar todos los contactos con gmail en su correo electrónico"
  • "Crear un nuevo proyecto para organizar los recursos de mi campaña del primer trimestre"
  • "Clonar la campaña 5 y exportarla para el entorno de preparación"
  • "Enviar la plantilla de correo 12 a su segmento asignado"

Novedades en v2.0 (Soporte para Mautic 7)

Proyectos (API v2)

Organiza recursos de marketing bajo una única estructura lógica usando los nuevos endpoints de API Platform v2 de Mautic 7.

  • list_projects, get_project, create_project, update_project, patch_project, delete_project

Importación/Exportación de Campañas

Mueve configuraciones completas de campañas entre entornos.

  • clone_campaign - Clona una campaña existente
  • export_campaign - Exporta datos de campaña con todos los recursos relacionados
  • import_campaign - Importa una campaña desde datos JSON

Analítica de Campañas

  • get_campaign_event_details - Métricas detalladas para eventos de campaña
  • get_campaign_graph_stats - Estadísticas de gráficos de campaña para rangos de fechas
  • get_campaign_map_stats - Estadísticas de mapas geográficos

Envío de Correos Basado en Segmentos

  • send_email_to_segment - Envía correos a segmentos asignados con adaptación de audiencia en tiempo real

Seguimiento de Respuestas de Correos

  • record_email_reply - Registra respuestas de correos mediante hash de seguimiento
  • get_email_graph_stats - Estadísticas de gráficos de correos para rangos de fechas

Aviso de Obsolescencia

Las clases de API de SMS han sido eliminadas en Mautic 7. Las herramientas list_sms y create_sms incluyen advertencias de obsolescencia.

Características

Autenticación

  • Autenticación OAuth2 con renovación automática de tokens
  • Gestión segura de credenciales mediante variables de entorno
  • Soporte de API dual: v1 (FOSRestBundle) y v2 (API Platform)

Gestión de Contactos (6 herramientas)

  • create_contact - Crea nuevos contactos con campos personalizados
  • update_contact - Actualiza información de contactos existentes
  • get_contact - Recupera detalles de contacto por ID o correo electrónico
  • search_contacts - Busca contactos con filtros y paginación
  • delete_contact - Elimina contactos de Mautic
  • add_contact_to_segment - Agrega contactos a segmentos específicos

Gestión de Campañas (13 herramientas)

  • list_campaigns - Obtiene todas las campañas con estado y estadísticas
  • get_campaign - Obtiene información detallada de campañas
  • create_campaign - Crea nuevas campañas
  • add_contact_to_campaign - Agrega contactos a campañas
  • create_campaign_with_automation - Crea campañas con automatización completa de eventos
  • execute_campaign - Ejecuta/activa campañas manualmente
  • get_campaign_contacts - Obtiene contactos en una campaña con su estado
  • clone_campaign - Clona una campaña existente (Mautic 7)
  • export_campaign - Exporta datos de campaña con recursos (Mautic 7)
  • import_campaign - Importa campaña desde datos JSON (Mautic 7)
  • get_campaign_event_details - Métricas de eventos de campaña (Mautic 7)
  • get_campaign_graph_stats - Estadísticas de gráficos de campaña (Mautic 7)
  • get_campaign_map_stats - Estadísticas geográficas de campaña (Mautic 7)

Operaciones de Correo (8 herramientas)

  • send_email - Envía correos a contactos específicos
  • list_emails - Obtiene todas las plantillas de correo y campañas
  • get_email - Obtiene información detallada de correos
  • create_email_template - Crea nuevas plantillas de correo
  • get_email_stats - Obtiene estadísticas de rendimiento de correos
  • send_email_to_segment - Envía correos a segmentos (Mautic 7)
  • record_email_reply - Registra respuesta de correo mediante hash de seguimiento (Mautic 7)
  • get_email_graph_stats - Estadísticas de gráficos de correos (Mautic 7)

Gestión de Formularios (3 herramientas)

  • list_forms - Obtiene todos los formularios con conteos de envíos
  • get_form - Obtiene detalles y campos de formularios
  • get_form_submissions - Obtiene datos de envíos de formularios

Gestión de Segmentos (3 herramientas)

  • list_segments - Obtiene todos los segmentos de contactos
  • create_segment - Crea nuevos segmentos de contactos con filtros
  • get_segment_contacts - Obtiene contactos en un segmento específico

Gestión de Contenido (7 herramientas)

  • list_assets - Obtiene todos los recursos (PDFs, imágenes, documentos)
  • get_asset - Obtiene detalles de recursos por ID
  • create_asset - Crea nuevos recursos (locales o remotos)
  • list_pages - Obtiene todas las páginas de destino
  • create_page - Crea nuevas páginas de destino
  • list_sms - Obtiene todas las plantillas de SMS [OBSOLETO en Mautic 7]
  • create_sms - Crea plantillas de SMS [OBSOLETO en Mautic 7]

Entidades de Negocio (10 herramientas)

  • list_companies - Obtiene todas las empresas
  • create_company - Crea nuevas empresas
  • add_contact_to_company - Asocia contactos con empresas
  • create_note - Agrega notas a contactos o empresas
  • get_contact_notes - Obtiene todas las notas de un contacto
  • list_tags - Obtiene todas las etiquetas disponibles
  • create_tag - Crea nuevas etiquetas
  • add_contact_tags - Agrega etiquetas a contactos
  • list_categories - Obtiene todas las categorías
  • create_category - Crea nuevas categorías

Características Avanzadas (7 herramientas)

  • add_contact_points - Agrega puntos a contactos
  • subtract_contact_points - Resta puntos de contactos
  • list_stages - Obtiene todas las etapas del ciclo de vida
  • change_contact_stage - Cambia la etapa del ciclo de vida de un contacto
  • list_contact_fields - Obtiene todos los campos personalizados de contactos
  • create_contact_field - Crea nuevos campos personalizados de contactos
  • get_contact_activity - Obtiene el historial de interacciones de contactos

Integración y Automatización (5 herramientas)

  • list_webhooks - Obtiene todos los webhooks
  • create_webhook - Crea nuevos webhooks
  • upload_file - Sube archivos a Mautic
  • list_reports - Obtiene todos los informes
  • create_report - Crea informes personalizados

Gestión de Proyectos - API v2 (6 herramientas, Mautic 7)

  • list_projects - Lista todos los proyectos
  • get_project - Obtiene detalles de proyectos
  • create_project - Crea un nuevo proyecto
  • update_project - Actualiza completamente un proyecto existente
  • patch_project - Actualiza parcialmente un proyecto
  • delete_project - Elimina un proyecto

Instalación

Requisitos Previos

  • Node.js (v16 o superior)
  • npm o yarn
  • Acceso a una instancia de Mautic 7 con credenciales de API

Configuración

  1. Clona el repositorio:

    git clone https://github.com/Cbrown35/mantic-MCP.git
    cd mantic-MCP
    
  2. Instala las dependencias:

    npm install
    
  3. Configura las variables de entorno:

    cp .env.example .env
    

    Edita .env y completa tus credenciales de API de Mautic:

    MAUTIC_BASE_URL=https://your-mautic-instance.com/api/
    MAUTIC_CLIENT_ID=your_client_id_here
    MAUTIC_CLIENT_SECRET=your_client_secret_here
    MAUTIC_TOKEN_ENDPOINT=https://your-mautic-instance.com/oauth/v2/token
    
  4. Compila el servidor:

    npm run build
    
  5. Configura los ajustes de MCP: Agrega el servidor a tu archivo de configuración de MCP:

    {
      "mcpServers": {
        "mautic-server": {
          "command": "node",
          "args": ["/path/to/mautic-server/build/index.js"],
          "env": {
            "MAUTIC_BASE_URL": "https://your-mautic-instance.com/api/",
            "MAUTIC_CLIENT_ID": "your_client_id",
            "MAUTIC_CLIENT_SECRET": "your_client_secret",
            "MAUTIC_TOKEN_ENDPOINT": "https://your-mautic-instance.com/oauth/v2/token"
          },
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    

Arquitectura

Soporte de API Dual

Mautic 7 tiene una arquitectura de API de tres niveles:

NivelPropósitoEndpoints
API Platform 4.xNuevos endpoints REST v2 (JSON-LD/Hydra)/api/v2/projects
FOSRestBundleEndpoints v1 existentes/api/contacts, /api/campaigns, etc.
FOSOAuthServerBundleAutenticación OAuth2/oauth/v2/token

El servidor MCP gestiona automáticamente ambas versiones de API. Los endpoints v1 usan MAUTIC_BASE_URL configurado directamente, mientras que los endpoints v2 se derivan automáticamente.

Estructura del Proyecto

src/
├── index.ts              # Entry point: server setup and startup
├── types/                # TypeScript interfaces
│   ├── common.ts         # Shared types (OAuth2Token, ToolResult, etc.)
│   ├── contacts.ts       # MauticContact interface
│   ├── campaigns.ts      # MauticCampaign interface
│   ├── emails.ts         # MauticEmail interface
│   ├── forms.ts          # MauticForm interface
│   ├── segments.ts       # MauticSegment interface
│   └── projects.ts       # MauticProject interface (Mautic 7)
├── api/
│   └── client.ts         # Dual API client (v1 + v2) with OAuth2
└── tools/
    ├── index.ts           # Tool registry and dispatch
    ├── contacts.ts        # Contact tools
    ├── campaigns.ts       # Campaign tools (includes Mautic 7 additions)
    ├── emails.ts          # Email tools (includes Mautic 7 additions)
    ├── forms.ts           # Form tools
    ├── segments.ts        # Segment tools
    ├── projects.ts        # Project tools (Mautic 7 API v2)
    ├── content.ts         # Asset, page, and SMS tools
    ├── business.ts        # Company, note, tag, and category tools
    ├── advanced.ts        # Points, stages, fields, and activity tools
    └── integration.ts     # Webhook, file, and report tools

Configuración

Variables de Entorno

VariableDescripciónEjemplo
MAUTIC_BASE_URLTu URL base de API de Mautichttps://your-mautic.com/api/
MAUTIC_CLIENT_IDID de Cliente OAuth21_abc123...
MAUTIC_CLIENT_SECRETSecreto de Cliente OAuth2secret123...
MAUTIC_TOKEN_ENDPOINTEndpoint de Token OAuth2https://your-mautic.com/oauth/v2/token

Obtención de Credenciales de API de Mautic

  1. Inicia sesión en tu instancia de Mautic como administrador
  2. Ve a Configuración > Configuración > Ajustes de API
  3. Habilita el acceso a la API
  4. Ve a Configuración > Credenciales de API
  5. Crea una nueva credencial de API con autorización OAuth2
  6. Anota el ID de Cliente y el Secreto de Cliente

Manejo de Errores

El servidor incluye manejo integral de errores:

  • Renovación automática de tokens OAuth2
  • Mensajes de error detallados de formatos de API v1 y v2
  • Manejo elegante de fallos de autenticación
  • Lógica de reintento para errores transitorios

Seguridad

  • Todas las credenciales se almacenan como variables de entorno
  • Los tokens OAuth2 se renuevan automáticamente
  • No se registran ni exponen datos sensibles
  • Comunicación HTTPS segura con la API de Mautic

Desarrollo

Para modificar o extender el servidor:

  1. Edita el código fuente en el directorio src/
  2. Agrega nuevas herramientas creando un archivo en src/tools/ e importándolo en src/tools/index.ts
  3. Compila el servidor: npm run build
  4. Prueba con el Inspector de MCP: npm run inspector

Contribuciones

¡Damos la bienvenida a las contribuciones! Consulta el repositorio para conocer las pautas de contribución.

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

Agradecimientos