SendGrid

Acesse a API de Marketing do SendGrid para email marketing e gerenciamento de contatos.

Documentação

Servidor MCP SendGrid

SendGrid Logo

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!

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 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

  1. 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
  2. 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:

  1. Copie o arquivo de ambiente de exemplo:

    cp .env.example .env
    
  2. Edite .env e adicione sua chave de API do SendGrid:

    SENDGRID_API_KEY=your-api-key-here
    

    Nota: O arquivo .env é ignorado pelo git para evitar o commit de informações sensíveis.

  3. 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