Gemini Email Subject Generator MCP

Gera assuntos de e-mail envolventes e processos de pensamento detalhados usando o modelo de IA Gemini do Google.

Documentação

Gemini Email Subject Generator MCP

Um poderoso servidor Model Context Protocol (MCP) que aproveita o modelo Gemini Flash 2 do Google para gerar assuntos de e-mail envolventes e processos de pensamento detalhados. Esta ferramenta se integra perfeitamente ao Claude Desktop para fornecer geração inteligente de assuntos de e-mail e criação avançada de conteúdo.

🌟 Recursos

1. Ferramenta de E-mail com Geração de Assunto por IA (send-email)

  • Envia e-mails com assuntos gerados por IA usando o Gemini Flash 2
  • Recursos:
    • Geração dinâmica de assunto com base no prompt fornecido
    • Suporte para conteúdo de e-mail em HTML e texto simples
    • Anexos de imagem com capacidade de exibição inline
    • Autenticação segura usando variáveis de ambiente
    • Tratamento de erros e relatório de status
    • Conteúdo totalmente personalizável com opções avançadas de formatação
    • Entrega instantânea com rastreamento de mensagens

2. Ferramenta de Geração de Pensamento (generate-thinking)

  • Gera texto de processo de pensamento detalhado usando o modelo Flash 2 do Gemini
  • Suporta raciocínio e análise complexos
  • Salva respostas com carimbos de data/hora
  • Diretório de saída personalizável
  • Ideal para brainstorming, planejamento e criação de conteúdo

🚀 Início Rápido

Pré-requisitos

  • Node.js (v16 ou superior)
  • TypeScript
  • Claude Desktop
  • Chave de API do Google Gemini
  • Conta de e-mail SMTP (para funcionalidade de e-mail)

Instalação

  1. Clone e configure:
git clone [your-repo-url]
cd gemini-email-subject-generator
npm install
  1. Crie o arquivo .env:
GEMINI_API_KEY=your_api_key_here
NODEMAILER_EMAIL=your.email@gmail.com
NODEMAILER_PASSWORD=your_app_password_here
  1. Compile o projeto:
npm run build

Configuração do Claude Desktop

  1. Crie/Edite %AppData%/Claude/claude_desktop_config.json:
{
  "mcpServers": {
    "Gemini Email Generator": {
      "command": "node",
      "args": ["path/to/gemini-email-subject-generator/dist/index.js"],
      "cwd": "path/to/gemini-email-subject-generator",
      "env": {
        "GEMINI_API_KEY": "your_api_key_here",
        "NODEMAILER_EMAIL": "your.email@gmail.com",
        "NODEMAILER_PASSWORD": "your_app_password_here"
      }
    }
  }
}
  1. Reinicie o Claude Desktop

📊 Usando as Ferramentas

Envio de E-mail com Geração de Assunto por IA

{
  "name": "send-email",
  "arguments": {
    "to": "recipient@example.com",
    "subjectPrompt": "Create a catchy subject line for a marketing email about our new AI-powered analytics platform",
    "text": "Hello! This is the plain text version of our email.",
    "html": "<h1>Hello!</h1><p>This is the <b>HTML</b> version of our email with an inline image: <img src='cid:image0'/></p>",
    "images": [
      {
        "name": "chart.png",
        "data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
      }
    ]
  }
}

Nota Importante sobre a Ferramenta de E-mail: Quando você usar a ferramenta send-email, o Claude exibirá uma mensagem de confirmação informando que o e-mail foi enviado com sucesso. Essa mensagem de confirmação NÃO é o conteúdo do e-mail — é apenas um feedback para você de que a operação foi bem-sucedida. O e-mail real enviado ao destinatário conterá apenas o conteúdo que você especificou nos campos text e html, com o assunto gerado pelo Gemini com base no seu prompt.

Geração de Pensamento

{
  "name": "generate-thinking",
  "arguments": {
    "prompt": "Your complex analysis prompt here",
    "outputDir": "./custom_output"
  }
}

📁 Estrutura de Saída

output/
└── thinking/
    └── gemini_thinking_[timestamp].txt

🛠️ Desenvolvimento

Scripts Disponíveis

  • npm run build: Compila TypeScript para JavaScript
  • npm run start: Inicia o servidor MCP
  • npm run dev: Executa em modo de desenvolvimento com ts-node

Variáveis de Ambiente

  • GEMINI_API_KEY: Sua chave de API do Google Gemini
  • NODEMAILER_EMAIL: Seu endereço de e-mail para envio de mensagens
  • NODEMAILER_PASSWORD: Sua senha de aplicativo de e-mail (para Gmail, use uma senha de aplicativo)

🔒 Notas de Segurança

  • Armazene suas chaves de API com segurança
  • Não compartilhe seu arquivo .env
  • Para Gmail, use senhas de aplicativo em vez da senha principal da sua conta
  • Tenha cuidado com o conteúdo dos e-mails enviados pelo sistema
  • Nunca inclua informações sensíveis ou pessoais em exemplos de e-mail

🐛 Solução de Problemas

Problemas Comuns

  1. Erro de Chave de API

    • Verifique se o arquivo .env existe
    • Verifique a validade da chave de API
    • Garanta o carregamento adequado das variáveis de ambiente
  2. Conexão com o Claude Desktop

    • Verifique a sintaxe do config.json
    • Verifique os caminhos dos arquivos na configuração
    • Reinicie o Claude Desktop
  3. Problemas com Envio de E-mail

    • Verifique se NODEMAILER_EMAIL e NODEMAILER_PASSWORD estão definidos corretamente
    • Para Gmail, certifique-se de ter criado uma senha de aplicativo
    • Verifique se o acesso a aplicativos menos seguros está habilitado para provedores que não sejam Gmail
    • Verifique o formato do endereço de e-mail do destinatário
    • Garanta que os dados da imagem estejam formatados corretamente como data URI (data:image/type;base64,)

Modo de Depuração

Adicione DEBUG=true ao seu arquivo .env para registro detalhado:

GEMINI_API_KEY=your_key_here
DEBUG=true

📚 Referência da API

Ferramenta de Envio de E-mail

interface SendEmailParams {
  to: string;              // Recipient email address
  subjectPrompt: string;   // Prompt for generating email subject
  text: string;            // Plain text version of email
  html?: string;           // HTML version of email (optional)
  images?: {               // Optional images to attach
    name: string;          // Image filename
    data: string;          // Base64 encoded image data
  }[];
}

Ferramenta de Geração de Pensamento

interface GenerateThinkingParams {
  prompt: string;           // Analysis prompt
  outputDir?: string;       // Optional output directory
}

🤝 Contribuindo

  1. Faça um fork do repositório
  2. Crie sua branch de funcionalidade
  3. Faça commit das suas alterações
  4. Envie para a branch
  5. Crie um Pull Request

📄 Licença

Licença MIT — Consulte o arquivo LICENSE para obter detalhes