O que é o Servidor MCP do Emailit?

O Servidor MCP do Emailit é um servidor de código aberto do Protocolo de Contexto de Modelo que conecta assistentes de IA diretamente ao Emailit.

Permite enviar emails, gerenciar contatos, domínios, modelos e muito mais através de linguagem natural — diretamente do Claude, Cursor ou qualquer cliente compatível com MCP.

Pré-requisitos

Modos de transporte

O servidor suporta dois modos de transporte:

Stdio (padrão)

O cliente MCP inicia o servidor como um subprocesso e se comunica através de entrada/saída padrão. A chave de API é passada via variável de ambiente ou argumento CLI. Esta é a opção mais simples e funciona com todos os principais clientes.

HTTP (HTTP Streamable)

Para integrações remotas ou baseadas na web, o servidor executa como um servidor HTTP usando transporte HTTP Streamable. Os clientes se autenticam por sessão passando sua chave de API como token Bearer no cabeçalho Authorization. O endpoint é exposto em /mcp.

Instalação e configuração

Claude Code (Stdio)

claude mcp add emailit \
  -e EMAILIT_API_KEY=sua_chave_api \
  -- npx -y @emailit/emailit-mcp

Claude Code (HTTP)

Primeiro inicie o servidor:

npx -y @emailit/emailit-mcp --http --port 3000

Depois registre-o:

claude mcp add emailit \
  --transport http http://127.0.0.1:3000/mcp \
  --header "Authorization: Bearer sua_chave_api"

Cursor (Stdio)

Abra a paleta de comandos e escolha Cursor Settings → MCP → Add new global MCP server, depois cole:

{
  "mcpServers": {
    "emailit": {
      "command": "npx",
      "args": ["-y", "@emailit/emailit-mcp"],
      "env": {
        "EMAILIT_API_KEY": "sua_chave_api"
      }
    }
  }
}

Cursor (HTTP)

Inicie o servidor, depois adicione:

{
  "mcpServers": {
    "emailit": {
      "url": "http://127.0.0.1:3000/mcp",
      "headers": {
        "Authorization": "Bearer sua_chave_api"
      }
    }
  }
}

Claude Desktop (Stdio)

Abra Configurações do Claude Desktop → aba Developer → Edit Config, depois cole:

{
  "mcpServers": {
    "emailit": {
      "command": "npx",
      "args": ["-y", "@emailit/emailit-mcp"],
      "env": {
        "EMAILIT_API_KEY": "sua_chave_api"
      }
    }
  }
}

Opções CLI

OpçãoDescrição
--key <chave>Chave de API (apenas stdio; HTTP usa token Bearer)
--sender <email>Remetente padrão de um domínio verificado
--reply-to <email>Reply-to padrão (pode ser repetido)
--httpUsar transporte HTTP em vez de stdio
--port <porta>Porta HTTP (padrão: 3000)
-h, --helpMostrar mensagem de ajuda

Variáveis de ambiente

VariávelDescrição
EMAILIT_API_KEYChave de API (obrigatória para stdio)
SENDER_EMAIL_ADDRESSRemetente padrão de um domínio verificado
REPLY_TO_EMAIL_ADDRESSESEndereços reply-to separados por vírgula
MCP_PORTPorta HTTP (padrão: 3000)

Dica: Se você não fornecer um endereço de email remetente, o servidor MCP pedirá um a cada envio de email.

Ferramentas disponíveis

O servidor expõe 47 ferramentas em 8 categorias.

Emails (10 ferramentas)

FerramentaDescrição
send-emailEnviar um email (HTML, texto, modelos, anexos, agendamento)
list-emailsListar emails com paginação e filtragem opcional
get-emailRecuperar um único email por ID
get-email-rawObter a mensagem MIME bruta completa
get-email-bodyObter conteúdo do corpo analisado (texto e HTML)
get-email-attachmentsObter anexos com conteúdo base64
get-email-metaObter metadados do email
update-emailAtualizar horário de envio de um email agendado
cancel-emailCancelar um email agendado ou pendente
retry-emailTentar novamente um email falhado, com erro ou retido

Domínios (6 ferramentas)

FerramentaDescrição
create-domainCriar um domínio e obter registros DNS
get-domainObter informações do domínio e status de verificação
list-domainsListar todos os domínios
update-domainAtualizar configurações de rastreamento
delete-domainExcluir um domínio (irreversível)
verify-domainAcionar verificação DNS

Chaves de API (5 ferramentas)

FerramentaDescrição
create-api-keyCriar uma nova chave de API (mostrada apenas uma vez)
get-api-keyRecuperar informações da chave de API
list-api-keysListar todas as chaves de API
update-api-keyAtualizar nome de uma chave de API
delete-api-keyExcluir uma chave de API (irreversível)

Audiências (5 ferramentas)

FerramentaDescrição
create-audienceCriar uma audiência para campanhas
get-audienceObter detalhes da audiência
list-audiencesListar todas as audiências
update-audienceAtualizar nome de uma audiência
delete-audienceExcluir uma audiência e todos os seus assinantes

Contatos (5 ferramentas)

FerramentaDescrição
create-contactCriar um contato com assinaturas de audiência
get-contactObter um contato por ID ou endereço de email
list-contactsListar todos os contatos
update-contactAtualizar detalhes de um contato
delete-contactExcluir um contato e seus registros de assinante

Modelos (6 ferramentas)

FerramentaDescrição
create-templateCriar um modelo de email
get-templateObter um modelo por ID com todas as versões
list-templatesListar modelos publicados com filtragem
update-templateAtualizar um modelo
delete-templateExcluir um modelo permanentemente
publish-templatePublicar uma versão do modelo

Supressões (5 ferramentas)

FerramentaDescrição
create-suppressionAdicionar um endereço de email à lista de supressão
get-suppressionObter uma supressão por ID ou email
list-suppressionsListar todas as supressões
update-suppressionAtualizar uma supressão
delete-suppressionRemover uma supressão

Webhooks (5 ferramentas)

FerramentaDescrição
create-webhookCriar um webhook com assinaturas de eventos
get-webhookObter informações do webhook
list-webhooksListar todos os webhooks
update-webhookAtualizar um webhook
delete-webhookExcluir um webhook

Exemplos de uso

Enviar um email simples

Peça ao seu assistente de IA:

“Envie um email de boas-vindas para john@example.com com o assunto ‘Bem-vindo!’”

A IA chama send-email com:

{
  "from": "ola@meudominio.com",
  "to": "john@example.com",
  "subject": "Bem-vindo!",
  "html": "<h1>Bem-vindo!</h1><p>Obrigado por se cadastrar.</p>"
}

Enviar com modelo e variáveis

“Envie o modelo welcome-email para sarah@example.com com o nome dela como Sarah.”

{
  "from": "ola@meudominio.com",
  "to": "sarah@example.com",
  "template": "welcome-email",
  "variables": { "name": "Sarah" }
}

Agendar um email

“Agende um email de lembrete para equipe@empresa.com para amanhã às 9h.”

{
  "from": "lembretes@meudominio.com",
  "to": "equipe@empresa.com",
  "subject": "Lembrete da Reunião Diária",
  "text": "Não se esqueçam da reunião às 9:30!",
  "scheduled_at": "amanhã às 9h"
}

Enviar com anexos

“Envie um email para contabilidade@empresa.com com o PDF da fatura anexado.”

{
  "from": "faturamento@meudominio.com",
  "to": "contabilidade@empresa.com",
  "subject": "Fatura Mensal",
  "html": "<p>Segue em anexo a fatura.</p>",
  "attachments": [
    {
      "filename": "fatura-2026-05.pdf",
      "url": "https://example.com/faturas/2026-05.pdf"
    }
  ]
}

Gerenciar domínios

“Adicione meu domínio mail.example.com e me mostre os registros DNS.”

A IA chama create-domain e exibe os registros DNS necessários para você configurar com seu provedor DNS.

“Verifique meu domínio.”

A IA chama verify-domain para verificar a propagação DNS e reporta o status de verificação.

Gerenciar contatos

“Adicione Jane Smith (jane@example.com) à audiência aud_abc123.”

{
  "email": "jane@example.com",
  "first_name": "Jane",
  "last_name": "Smith",
  "audiences": ["aud_abc123"]
}

Gerenciar modelos

“Crie um modelo de newsletter com alias newsletter-mensal.”

{
  "name": "Newsletter Mensal",
  "alias": "newsletter-mensal",
  "subject": "Atualização {{mes}}",
  "html": "<h1>Atualização de {{mes}}</h1>..."
}

Gerenciar supressões

“Suprima bounced@example.com por muitos bounces duros.”

{
  "email": "bounced@example.com",
  "type": "bounce",
  "reason": "muitos bounces duros"
}

Configurar webhooks

“Crie um webhook que envie eventos de entrega e bounce para meu endpoint.”

{
  "name": "Rastreador de Entrega",
  "url": "https://meuapp.com/webhooks/email",
  "events": ["email.delivered", "email.bounced"]
}

Notas de segurança

  • Chaves de API nunca devem ser commitadas no controle de versão.
  • No modo stdio, a chave de API é armazenada na configuração do cliente MCP.
  • No modo HTTP, clientes passam a chave de API por sessão via token Bearer.
  • URLs de webhook são validadas contra SSRF antes da criação.
  • Operações de exclusão fazem a IA confirmar com você primeiro.

Solução de problemas

“Chave de API obrigatória para modo stdio” Configure a variável de ambiente EMAILIT_API_KEY ou passe --key.

Domínio não verificado Configure os registros DNS da saída de create-domain, depois chame verify-domain.

Email rejeitado / não enviando Certifique-se de que o domínio está verificado e o endereço remetente usa esse domínio.

Email agendado não pode ser cancelado Deve ser pelo menos 3 minutos antes do horário agendado.

Retry falha Apenas emails com falha grave, erro, retidos ou suprimidos podem ser tentados novamente.

Desenvolvimento local

git clone https://github.com/emailit/emailit-mcp.git
cd emailit-mcp
npm install

# Executar em modo stdio
EMAILIT_API_KEY=sua_chave node src/index.js

# Executar em modo HTTP
node src/index.js --http --port 3000

Para mais detalhes, veja o repositório GitHub.

Localizado por IA