SendGrid
Acesse a API de Marketing do SendGrid para email marketing e gerenciamento de contatos.
Documentação
Servidor MCP SendGrid
Um servidor Model Context Protocol (MCP) que fornece acesso à API de Marketing do SendGrid para marketing por e-mail e gerenciamento de contatos. https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api
Demonstração
Nesta demonstração, pedimos ao agente Cline SendGrid para criar uma nova lista de contatos, adicionar meus e-mails a ela, gerar automaticamente um modelo para curiosidades sobre Lost Cities e enviar o e-mail para a lista. Nesse processo, o Cline perceberá automaticamente que precisa saber quais remetentes verificados temos e qual grupo de cancelamento de inscrição usar. Um e-mail bonito é entregue nas minhas caixas de entrada, encantando-me com Lost Cities!
Nota Importante sobre Suporte à API
Este servidor suporta exclusivamente as APIs v3 do SendGrid e não oferece suporte a funcionalidades legadas. Isso inclui:
- Apenas modelos dinâmicos - modelos legados não são suportados
- Marketing API v3 para todas as operações de contatos e listas de contatos
- Single Sends API para envio de e-mails em massa
Ferramentas Disponíveis
Gerenciamento de Contatos
list_contacts
Lista todos os contatos na sua conta SendGrid.
// No parameters required
add_contact
Adiciona um contato aos seus contatos de marketing do 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
Exclui contatos da sua conta SendGrid.
{
emails: string[]; // Required: Array of email addresses to delete
}
get_contacts_by_list
Obtém todos os contatos em uma lista do SendGrid.
{
list_id: string; // Required: ID of the contact list
}
Gerenciamento de Listas
list_contact_lists
Lista todas as listas de contatos na sua conta SendGrid.
// No parameters required
create_contact_list
Cria uma nova lista de contatos no SendGrid.
{
name: string; // Required: Name of the contact list
}
delete_list
Exclui uma lista de contatos do SendGrid.
{
list_id: string; // Required: ID of the contact list to delete
}
add_contacts_to_list
Adiciona contatos a uma lista existente do SendGrid.
{
list_id: string; // Required: ID of the contact list
emails: string[]; // Required: Array of email addresses to add
}
remove_contacts_from_list
Remove contatos de uma lista do SendGrid sem excluí-los.
{
list_id: string; // Required: ID of the contact list
emails: string[]; // Required: Array of email addresses to remove
}
Envio de E-mails
send_email
Envia um e-mail usando o 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
Envia um e-mail para uma lista de contatos usando o Single Sends do SendGrid.
{
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
}
Gerenciamento de Modelos (Apenas Modelos Dinâmicos)
create_template
Cria um novo modelo de e-mail dinâmico.
{
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 todos os modelos de e-mail dinâmicos.
// No parameters required
get_template
Recupera um modelo por ID.
{
template_id: string; // Required: ID of the template to retrieve
}
delete_template
Exclui um modelo dinâmico.
{
template_id: string; // Required: ID of the template to delete
}
Análises e Validação
get_stats
Obtém estatísticas de e-mail do 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 um endereço de e-mail usando o SendGrid.
{
email: string; // Required: Email address to validate
}
Gerenciamento da Conta
list_verified_senders
Lista todas as identidades de remetentes verificados.
// No parameters required
list_suppression_groups
Lista todos os grupos de cancelamento de inscrição.
// No parameters required
Instalação
git clone https://github.com/Garoth/sendgrid-mcp.git
cd sendgrid-mcp
npm install
Configuração
-
Obtenha sua chave de API do SendGrid:
- Faça login na sua conta SendGrid
- Vá para Configurações > Chaves de API
- Crie uma nova chave de API com permissões de acesso total
- Salve a chave de API com segurança, pois ela não será exibida novamente
-
Adicione-a ao arquivo de configurações MCP do Cline dentro das configurações do VSCode (ex. ~/.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: Ferramentas que modificam dados (como enviar e-mails ou excluir contatos) são intencionalmente excluídas do autoApprove por segurança.
Desenvolvimento
Configurando Testes
Os testes usam chamadas reais à API para garantir respostas precisas. Para executar os testes:
-
Copie o arquivo de ambiente de exemplo:
cp .env.example .env -
Edite
.enve adicione sua chave de API do SendGrid:SENDGRID_API_KEY=your-api-key-hereNota: O arquivo
.envé ignorado pelo git para evitar o commit de informações sensíveis. -
Execute os testes:
npm test
Compilação
npm run build
Notas Importantes
- Ao enviar e-mails para listas, você deve fornecer um suppression_group_id ou custom_unsubscribe_url para cumprir as regulamentações de e-mail
- Os endereços de e-mail do remetente devem ser verificados com o SendGrid antes de serem usados para enviar e-mails
- Todos os modelos são criados como modelos dinâmicos com suporte à sintaxe handlebars (ex.: {{variable_name}})
- A API Single Sends é usada para todas as operações de e-mail em massa, pois oferece melhores recursos de rastreamento e gerenciamento
- A API do SendGrid é "eventualmente consistente" - alterações de dados (como adicionar contatos ou atualizar listas) podem não aparecer imediatamente após serem feitas
Licença
MIT
Logotipo do SendGrid com direitos autorais / propriedade da Twilio