SendGrid MCP
MCP do SendGrid transacional: envio de pré-verificação, templates, diagnósticos de entrega, configurações de conta/console, receptor opcional de Event Webhook. Binário auto-hospedado, BYOK.
Documentação
Servidor SendGrid MCP
Servidor MCP para Twilio SendGrid: e-mail transacional com verificações de pré-envio, gerenciamento de templates, diagnósticos de entrega, configurações de conta/console e captura opcional de Event Webhooks local.
Usuários finais executam um único binário compilado — Bun não é necessário.
CRUD de marketing de contatos/listas está intencionalmente fora do escopo.
Este projeto é mantido pela comunidade e não é afiliado, endossado ou patrocinado pela Twilio SendGrid.
Recursos
- Envio seguro —
sendgrid_validate_send_request,sendgrid_send_with_preflight, modo sandbox - Templates — listar/criar/atualizar/ativar templates dinâmicos
- Diagnósticos — Atividade de E-mail, supressões, estatísticas, classificação de erros, triagem de entrega
- Webhooks — Configuração de Event Webhook no SendGrid + receptor local opcional (compatível com ngrok)
- Conta e console — remetentes verificados, autenticação de domínio, configurações de e-mail/rastreamento, alertas, parse de entrada
Catálogo completo de ferramentas: MCP_TOOLS.md
Instalação (binário)
Baixe o binário para seu sistema operacional em GitHub Releases.
| Plataforma | Arquivo |
|---|---|
| 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
O binário é compilado com bun build --compile e incorpora o runtime Bun. Os usuários não instalam o Bun.
Requisitos
- Uma chave de API do SendGrid com escopos para as ferramentas que você usa
- Um endereço de remetente verificado correspondente a
SENDGRID_FROM_EMAIL - Um cliente MCP (Cursor, Claude Desktop, VS Code, etc.)
Cada usuário executa o servidor localmente com sua própria chave de API (traga sua própria chave). Não compartilhe uma instância hospedada com credenciais compartilhadas.
Configuração
Variáveis de ambiente obrigatórias
| Variável | Descrição |
|---|---|
SENDGRID_API_KEY | Chave de API do SendGrid (SG....) |
SENDGRID_FROM_EMAIL | Endereço De (remetente verificado) padrão |
Opcionais
| Variável | Padrão | Descrição |
|---|---|---|
SENDGRID_FROM_NAME | SendGrid MCP | Nome de exibição De padrão |
SENDGRID_REGION | global | Usar eu para https://api.eu.sendgrid.com/v3 |
SENDGRID_API_BASE_URL | https://api.sendgrid.com/v3 | Substituição da URL base completa da API do SendGrid |
SENDGRID_MCP_LOG_LEVEL | info | debug | info | warn | error |
Opcional: receptor local de Event Webhook
Habilitado somente quando SENDGRID_EVENT_WEBHOOK_PORT está definido.
| Variável | Padrão |
|---|---|
SENDGRID_EVENT_WEBHOOK_PORT | (desabilitado) |
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 | — (obrigatório se a assinatura for aplicada) |
Aponte a URL do Event Webhook do SendGrid para seu túnel, ex.: https://<ngrok-host>/sendgrid/events. Inspecione eventos via ferramentas MCP get_received_webhook_events / get_webhook_receiver_status.
Para túneis públicos, prefira verificação de webhook assinada:
SENDGRID_EVENT_WEBHOOK_REQUIRE_SIGNATURE=true e
SENDGRID_EVENT_WEBHOOK_PUBLIC_KEY=<SendGrid public key>.
Configuração do cliente MCP
Cursor
Configurações → MCP → adicionar servidor (ou editar ~/.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"
}
}
}
}
Reinicie o cliente após alterar a configuração do MCP.
Segurança
- Ferramentas de envio podem enfileirar e-mails reais. Prefira
sendgrid_send_with_preflightem automação. - Ferramentas de console mutáveis exigem
confirmToken: "CONFIRM"(alertas, configurações de e-mail/rastreamento, remetentes verificados, domínios, webhooks). - Atividade de E-mail (
/v3/messages) pode exigir o add-on de Atividade de E-mail.
Mudanças de quebra na v2
- Nome do servidor MCP:
sendgrid-mcp-server - Todos os nomes de ferramentas são prefixados:
sendgrid_<name>(ex.:sendgrid_validate_send_request) - Ferramentas de listar/ler aceitam
response_formatopcional (markdown|json) e retornam metadados de paginação em ferramentas de listagem
Desenvolvimento (somente mantenedores)
Bun é necessário apenas para compilar a partir do código-fonte, não para executar o binário de lançamento.
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
MCP Inspector
SENDGRID_API_KEY=SG.xxx SENDGRID_FROM_EMAIL=you@domain.com bun run inspect
Documentação
- MCP_TOOLS.md — ferramentas, runbooks, matriz de risco
- Referência da API SendGrid
- SendGrid para desenvolvedores
Licença
MIT — veja LICENSE.