SendGrid

Accede a la API de Marketing de SendGrid para marketing por correo electrónico y gestión de contactos.

Documentación

Servidor MCP de SendGrid

SendGrid Logo

Un servidor de Model Context Protocol (MCP) que proporciona acceso a la API de Marketing de SendGrid para marketing por correo electrónico y gestión de contactos. https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api

Demo

En esta demo, le pedimos al agente Cline SendGrid que cree una nueva lista de contactos, agregue mis correos electrónicos a ella, genere automáticamente una plantilla con datos curiosos sobre Lost Cities y envíe el correo a la lista. En este proceso, Cline se dará cuenta automáticamente de que necesita conocer los remitentes verificados que tenemos y qué grupo de cancelación de suscripción usar. Un correo electrónico atractivo llega a mis bandejas de entrada, ¡deleitándome con Lost Cities!

SendGrid MCP Demo 1 SendGrid MCP Demo 2 SendGrid MCP Demo 3 SendGrid MCP Demo 4 SendGrid MCP Demo 5 SendGrid MCP Demo 6 SendGrid MCP Demo 7 SendGrid MCP Demo 8 SendGrid MCP Demo 9

Nota Importante sobre el Soporte de la API

Este servidor soporta exclusivamente las API v3 de SendGrid y no proporciona soporte para funcionalidades heredadas. Esto incluye:

  • Solo plantillas dinámicas: las plantillas heredadas no son compatibles
  • Marketing API v3 para todas las operaciones de contactos y listas de contactos
  • Single Sends API para el envío masivo de correos electrónicos

Herramientas Disponibles

Gestión de Contactos

list_contacts

Lista todos los contactos en tu cuenta de SendGrid.

// No parameters required

add_contact

Agrega un contacto a tus contactos de marketing de SendGrid.

{
  email: string;           // Required: Contact email address
  first_name?: string;     // Optional: Contact first name
  last_name?: string;      // Optional: Contact last name
  custom_fields?: object;  // Optional: Custom field values
}

delete_contacts

Elimina contactos de tu cuenta de SendGrid.

{
  emails: string[];  // Required: Array of email addresses to delete
}

get_contacts_by_list

Obtiene todos los contactos en una lista de SendGrid.

{
  list_id: string;  // Required: ID of the contact list
}

Gestión de Listas

list_contact_lists

Lista todas las listas de contactos en tu cuenta de SendGrid.

// No parameters required

create_contact_list

Crea una nueva lista de contactos en SendGrid.

{
  name: string;  // Required: Name of the contact list
}

delete_list

Elimina una lista de contactos de SendGrid.

{
  list_id: string;  // Required: ID of the contact list to delete
}

add_contacts_to_list

Agrega contactos a una lista existente de SendGrid.

{
  list_id: string;    // Required: ID of the contact list
  emails: string[];   // Required: Array of email addresses to add
}

remove_contacts_from_list

Elimina contactos de una lista de SendGrid sin borrarlos.

{
  list_id: string;    // Required: ID of the contact list
  emails: string[];   // Required: Array of email addresses to remove
}

Envío de Correos Electrónicos

send_email

Envía un correo electrónico usando SendGrid.

{
  to: string;                             // Required: Recipient email address
  subject: string;                        // Required: Email subject line
  text: string;                          // Required: Plain text content
  from: string;                          // Required: Verified sender email address
  html?: string;                         // Optional: HTML content
  template_id?: string;                  // Optional: Dynamic template ID
  dynamic_template_data?: object;        // Optional: Template variables
}

send_to_list

Envía un correo electrónico a una lista de contactos usando SendGrid Single Sends.

{
  name: string;                          // Required: Name of the single send
  list_ids: string[];                    // Required: Array of list IDs to send to
  subject: string;                       // Required: Email subject line
  html_content: string;                  // Required: HTML content
  plain_content: string;                 // Required: Plain text content
  sender_id: number;                     // Required: ID of the verified sender
  suppression_group_id?: number;         // Required if custom_unsubscribe_url not provided
  custom_unsubscribe_url?: string;       // Required if suppression_group_id not provided
}

Gestión de Plantillas (Solo Plantillas Dinámicas)

create_template

Crea una nueva plantilla de correo electrónico dinámica.

{
  name: string;           // Required: Name of the template
  subject: string;        // Required: Default subject line
  html_content: string;   // Required: HTML content with handlebars syntax
  plain_content: string;  // Required: Plain text content with handlebars syntax
}

list_templates

Lista todas las plantillas de correo electrónico dinámicas.

// No parameters required

get_template

Recupera una plantilla por ID.

{
  template_id: string;  // Required: ID of the template to retrieve
}

delete_template

Elimina una plantilla dinámica.

{
  template_id: string;  // Required: ID of the template to delete
}

Analítica y Validación

get_stats

Obtiene estadísticas de correo electrónico de SendGrid.

{
  start_date: string;                          // Required: Start date (YYYY-MM-DD)
  end_date?: string;                           // Optional: End date (YYYY-MM-DD)
  aggregated_by?: 'day' | 'week' | 'month';    // Optional: Aggregation period
}

validate_email

Valida una dirección de correo electrónico usando SendGrid.

{
  email: string;  // Required: Email address to validate
}

Gestión de Cuenta

list_verified_senders

Lista todas las identidades de remitentes verificados.

// No parameters required

list_suppression_groups

Lista todos los grupos de cancelación de suscripción.

// No parameters required

Instalación

git clone https://github.com/Garoth/sendgrid-mcp.git
cd sendgrid-mcp
npm install

Configuración

  1. Obtén tu clave de API de SendGrid:

    • Inicia sesión en tu cuenta de SendGrid
    • Ve a Configuración > Claves de API
    • Crea una nueva clave de API con permisos de acceso completo
    • Guarda la clave de API de forma segura, ya que no se mostrará nuevamente
  2. Agrégala a tu archivo de configuración de MCP de Cline dentro de la configuración de VSCode (ej. ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):

{
  "mcpServers": {
    "sendgrid": {
      "command": "node",
      "args": ["/path/to/sendgrid-mcp/build/index.js"],
      "env": {
        "SENDGRID_API_KEY": "your-api-key-here"
      },
      "disabled": false,
      "autoApprove": [
        "list_contacts",
        "list_contact_lists",
        "list_templates",
        "list_single_sends",
        "get_single_send",
        "list_verified_senders",
        "list_suppression_groups",
        "get_stats",
        "validate_email"
      ]
    }
  }
}

Nota: Las herramientas que modifican datos (como enviar correos electrónicos o eliminar contactos) están excluidas intencionalmente de autoApprove por seguridad.

Desarrollo

Configuración de Pruebas

Las pruebas utilizan llamadas reales a la API para garantizar respuestas precisas. Para ejecutar las pruebas:

  1. Copia el archivo de entorno de ejemplo:

    cp .env.example .env
    
  2. Edita .env y agrega tu clave de API de SendGrid:

    SENDGRID_API_KEY=your-api-key-here
    

    Nota: El archivo .env está en gitignore para evitar comprometer información sensible.

  3. Ejecuta las pruebas:

    npm test
    

Compilación

npm run build

Notas Importantes

  • Al enviar correos electrónicos a listas, debes proporcionar un suppression_group_id o un custom_unsubscribe_url para cumplir con las regulaciones de correo electrónico
  • Las direcciones de correo electrónico del remitente deben estar verificadas con SendGrid antes de poder usarse para enviar correos
  • Todas las plantillas se crean como plantillas dinámicas con soporte para sintaxis de handlebars (ej., {{variable_name}})
  • La API de Single Sends se utiliza para todas las operaciones de correo masivo, ya que proporciona mejores capacidades de seguimiento y gestión
  • La API de SendGrid es "eventualmente consistente": los cambios de datos (como agregar contactos o actualizar listas) pueden no aparecer inmediatamente después de realizarse

Licencia

MIT

El logotipo de SendGrid es propiedad de Twilio