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
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!
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
-
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
-
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:
-
Copia el archivo de entorno de ejemplo:
cp .env.example .env -
Edita
.envy agrega tu clave de API de SendGrid:SENDGRID_API_KEY=your-api-key-hereNota: El archivo
.envestá en gitignore para evitar comprometer información sensible. -
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