send-emailLABSCO SUMMARY
It sends real mail from the account you configure.
This holds a working SMTP login and can send from it, so the account you configure is the account an assistant can send as. Using a Gmail app password rather than your main password, as the README instructs, is the minimum. The generation itself is narrowly scoped in a way that helps: the model writes the subject line, and the body stays exactly what you wrote.
What it is
An MCP server that sends email over SMTP with the subject line generated by Google's Gemini model from a prompt you supply. It also carries a general-purpose reasoning tool that writes its output to disk. Built for Claude Desktop and other MCP clients.
What you get
send-email— takes a recipient, asubjectPromptdescribing the subject you want, plain text and optional HTML bodies, and an optional array of images; the subject is generated from the prompt and the mail is sent, with status reported back- Image attachments that can display inline in the HTML body, passed as base64 data URIs
generate-thinking— a detailed reasoning pass over a prompt, saved to a timestamped file in an output directory you can set per call- A specific caveat the author calls out: the confirmation you see after sending is feedback that the operation succeeded, not the content of the email — the recipient gets only the text and HTML you supplied, with the Gemini-generated subject
Requirements
A Google Gemini API key in GEMINI_API_KEY, and an SMTP email account: NODEMAILER_EMAIL and NODEMAILER_PASSWORD, which for Gmail must be an app password rather than your account password. Node.js v16 or higher and TypeScript; clone, npm install, write the .env, npm run build, then point your client at the built entry point with the working directory set. Adding DEBUG=true turns on verbose logging. MIT licensed.
Setup effort
Build from source — git clone https://github.com/falahgs/Gemini-Email-Subject-Generator-MCP.git
USE CASES
Sending a message without agonising over the subject
Write the body and describe the subject you want; the line is generated and the mail goes out in one call.
Sending something with a chart or screenshot in it
Attach images as base64 data URIs and reference them inline in the HTML body.
Working through a problem and keeping the output
Run the reasoning tool and get a timestamped file in the directory you named, rather than a response that scrolls away.
2 tools
Listed in project docs. Your client may show a different list.
generate-thinkingBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation.
Requires
- node on PATH
- Node.js
- GEMINI_API_KEY in your environment
- NODEMAILER_EMAIL in your environment
- NODEMAILER_PASSWORD in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/falahgs/Gemini-Email-Subject-Generator-MCP.git
cd Gemini-Email-Subject-Generator-MCP
npm installCreate a .env file in the clone with GEMINI_API_KEY, NODEMAILER_EMAIL and NODEMAILER_PASSWORD
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"Gemini Email Generator": {
"command": "node",
"args": [
"<YOUR_PATH_TO_GEMINI_EMAIL_SUBJECT_GENERATOR>/dist/index.js"
],
"cwd": "<YOUR_PATH_TO_GEMINI_EMAIL_SUBJECT_GENERATOR>",
"env": {
"GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
"NODEMAILER_EMAIL": "<YOUR_NODEMAILER_EMAIL>",
"NODEMAILER_PASSWORD": "<YOUR_NODEMAILER_PASSWORD>"
}
}
}
}<YOUR_PATH_TO_GEMINI_EMAIL_SUBJECT_GENERATOR> is the full path to your clone, in args as well as cwd (the folder git clone creates is named Gemini-Email-Subject-Generator-MCP). <YOUR_NODEMAILER_EMAIL> and <YOUR_NODEMAILER_PASSWORD> are the address you send from and its app password (for Gmail, an app password, not the account password).