SendGrid MCP
MCP transaccional de SendGrid: envío de prueba, plantillas, diagnóstico de entrega, configuración de cuenta/consola, receptor opcional de Event Webhook. Binario autoalojado, BYOK.
Documentación
SendGrid MCP Server
Servidor MCP para Twilio SendGrid: correo electrónico transaccional con comprobaciones previas, gestión de plantillas, diagnóstico de entrega, ajustes de cuenta/consola y captura local opcional de Event Webhook.
Los usuarios finales ejecutan un único binario compilado: Bun no es necesario.
El CRUD de contactos/listas de marketing queda intencionalmente fuera del alcance.
Este proyecto es mantenido por la comunidad y no está afiliado, respaldado ni patrocinado por Twilio SendGrid.
Características
- Envío seguro —
sendgrid_validate_send_request,sendgrid_send_with_preflight, modo sandbox - Plantillas — listar/crear/actualizar/activar plantillas dinámicas
- Diagnóstico — Actividad de correo, exclusiones, estadísticas, clasificación de errores, triaje de entrega
- Webhooks — Configuración de Event Webhook en SendGrid + receptor local opcional (compatible con ngrok)
- Cuenta y consola — remitentes verificados, autenticación de dominio, ajustes de correo/seguimiento, alertas, análisis de entrada
Catálogo completo de herramientas: MCP_TOOLS.md
Instalación (binario)
Descarga el binario para tu sistema operativo desde GitHub Releases.
| Plataforma | Recurso |
|---|---|
| Linux x64 | sendgrid-linux-x64 |
| Linux arm64 | sendgrid-linux-arm64 |
| macOS Intel | sendgrid-darwin-x64 |
| macOS Apple Silicon | sendgrid-darwin-arm64 |
| Windows x64 | sendgrid-windows-x64.exe |
chmod +x sendgrid-linux-x64
mv sendgrid-linux-x64 ~/.local/bin/sendgrid
El binario está compilado con bun build --compile e incluye el entorno de ejecución de Bun. Los usuarios no necesitan instalar Bun.
Requisitos
- Una clave de API de SendGrid con los alcances necesarios para las herramientas que uses
- Una dirección de remitente verificado que coincida con
SENDGRID_FROM_EMAIL - Un cliente MCP (Cursor, Claude Desktop, VS Code, etc.)
Cada usuario ejecuta el servidor localmente con su propia clave de API (trae tu propia clave). No compartas una instancia alojada con credenciales comunes.
Configuración
Variables de entorno obligatorias
| Variable | Descripción |
|---|---|
SENDGRID_API_KEY | Clave de API de SendGrid (SG....) |
SENDGRID_FROM_EMAIL | Dirección From predeterminada (remitente verificado) |
Opcionales
| Variable | Predeterminado | Descripción |
|---|---|---|
SENDGRID_FROM_NAME | SendGrid MCP | Nombre para mostrar de From predeterminado |
SENDGRID_REGION | global | Usar eu para https://api.eu.sendgrid.com/v3 |
SENDGRID_API_BASE_URL | https://api.sendgrid.com/v3 | Anulación de URL base completa de la API de SendGrid |
SENDGRID_MCP_LOG_LEVEL | info | debug | info | warn | error |
Opcional: receptor local de Event Webhook
Solo se activa cuando se define SENDGRID_EVENT_WEBHOOK_PORT.
| Variable | Predeterminado |
|---|---|
SENDGRID_EVENT_WEBHOOK_PORT | (deshabilitado) |
SENDGRID_EVENT_WEBHOOK_HOST | 0.0.0.0 |
SENDGRID_EVENT_WEBHOOK_PATH | /sendgrid/events |
SENDGRID_EVENT_WEBHOOK_HEALTH_PATH | /sendgrid/events/health |
SENDGRID_EVENT_WEBHOOK_MAX_EVENTS | 5000 |
SENDGRID_EVENT_WEBHOOK_VERBOSE | false |
SENDGRID_EVENT_WEBHOOK_REQUIRE_SIGNATURE | false |
SENDGRID_EVENT_WEBHOOK_PUBLIC_KEY | — (obligatorio si la firma está verificada) |
Apunta la URL del Event Webhook de SendGrid a tu túnel, por ejemplo, https://<ngrok-host>/sendgrid/events. Inspecciona los eventos mediante las herramientas MCP get_received_webhook_events / get_webhook_receiver_status.
Para túneles públicos, prefiere la verificación de webhook firmada:
SENDGRID_EVENT_WEBHOOK_REQUIRE_SIGNATURE=true y
SENDGRID_EVENT_WEBHOOK_PUBLIC_KEY=<SendGrid public key>.
Configuración del cliente MCP
Cursor
Configuración → MCP → agregar servidor (o edita ~/.cursor/mcp.json):
{
"mcpServers": {
"sendgrid": {
"command": "/absolute/path/to/sendgrid",
"args": [],
"env": {
"SENDGRID_API_KEY": "SG.xxx",
"SENDGRID_FROM_EMAIL": "you@yourdomain.com",
"SENDGRID_FROM_NAME": "Your App"
}
}
}
}
Claude Desktop
{
"mcpServers": {
"sendgrid": {
"command": "/absolute/path/to/sendgrid",
"args": [],
"env": {
"SENDGRID_API_KEY": "SG.xxx",
"SENDGRID_FROM_EMAIL": "you@yourdomain.com"
}
}
}
}
Reinicia el cliente después de cambiar la configuración de MCP.
Seguridad
- Las herramientas de envío pueden poner en cola correos reales. Prefiere
sendgrid_send_with_preflighten automatizaciones. - Las herramientas de consola que modifican requieren
confirmToken: "CONFIRM"(alertas, ajustes de correo/seguimiento, remitentes verificados, dominios, webhooks). - Actividad de correo (
/v3/messages) puede requerir el add-on de Actividad de correo.
Cambios importantes en v2
- Nombre del servidor MCP:
sendgrid-mcp-server - Todos los nombres de herramientas llevan prefijo:
sendgrid_<name>(por ejemplo,sendgrid_validate_send_request) - Las herramientas de listar/leer aceptan un
response_formatopcional (markdown|json) y devuelven metadatos de paginación en las herramientas de listado
Desarrollo (solo mantenedores)
Bun solo se necesita para compilar desde el código fuente, no para ejecutar el binario de la versión publicada.
git clone https://github.com/Neschadin/sendgrid-mcp.git
cd sendgrid-mcp
bun install
bun run dev # stdio MCP from TypeScript
bun run build # compile → bin/sendgrid (local platform)
./scripts/build-release.sh # all release targets → dist/
bun run lint
bun run typecheck:tsc # bun build graph + unit tests
bun run smoke
bun test tests
Inspector MCP
SENDGRID_API_KEY=SG.xxx SENDGRID_FROM_EMAIL=you@domain.com bun run inspect
Documentación
- MCP_TOOLS.md — herramientas, runbooks, matriz de riesgos
- Referencia de la API de SendGrid
- SendGrid para desarrolladores
Licencia
MIT — ver LICENSE.