A resilient MCP server built with fastMCP for sending emails through Gmail's SMTP server using AI agents via stdio transport
Project description
Gmail MCP Server
A resilient MCP (Model Context Protocol) server built with fastMCP for sending emails through Gmail's SMTP server using AI agents. This server uses stdio transport for seamless integration with MCP clients.
Features
- Send emails via Gmail SMTP
- Fetch recent emails from Gmail folders
- Handle email attachments (from URLs, local files, or pre-staged files)
- stdio transport for MCP client integration
Gmail App Password Setup
To use this MCP server, you'll need to create a Gmail App Password:
- Go to your Google Account settings
- Select Security from the navigation panel
- Under "How you sign in to Google," select 2-Step Verification
- At the bottom, select App passwords
- Select the app and device you want to generate the app password for
- Select Generate
- Follow the instructions to enter the app password on your device
- Select Done
Use this app password as your SMTP_PASSWORD in the configuration.
Configuration Options
Environment Variables
SMTP_USERNAME: Your Gmail email addressSMTP_PASSWORD: Your Gmail app password (not your regular password)
Server Configuration
- Transport: stdio for MCP client integration
- Protocol: MCP (Model Context Protocol)
Installation
Option 1: Direct Installation with pip
Install the package from PyPI:
pip install rickjang-gmail-mcp-server
Then set up your Gmail credentials as environment variables:
export SMTP_USERNAME="your-email@gmail.com"
export SMTP_PASSWORD="your-app-password"
Run the server:
rickjang-gmail-mcp-server
Option 2: MCP Server Configuration with uv (Recommended)
Add the following to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"gmail-mcp": {
"command": "uv",
"args": [
"tool",
"run",
"rickjang-gmail-mcp-server"
],
"env": {
"SMTP_USERNAME": "your-email@gmail.com",
"SMTP_PASSWORD": "your-gmail-app-password"
}
}
}
}
This method automatically installs the package using uv and sets the environment variables directly in the configuration.
Claude Desktop Configuration
For Claude Desktop, add this to your claude_desktop_config.json file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"gmail-mcp": {
"command": "uv",
"args": [
"tool",
"run",
"rickjang-gmail-mcp-server"
],
"env": {
"SMTP_USERNAME": "jyjang@uengine.org",
"SMTP_PASSWORD": "your-gmail-app-password"
}
}
}
}
After adding this configuration, restart Claude Desktop to load the MCP server.
Local Development
-
Clone the repository:
git clone https://github.com/rickjang/Gmail-mcp-server.git cd Gmail-mcp-server
-
Install in development mode:
pip install -e .
-
Set environment variables and run:
export SMTP_USERNAME="your-email@gmail.com" export SMTP_PASSWORD="your-app-password" rickjang-gmail-mcp-server
Available Tools
This MCP server provides the following tools:
send_email_tool
Send emails via Gmail SMTP with optional attachments.
Parameters:
recipient(string): Email address to send tosubject(string): Email subjectbody(string): Email body textattachment_path(string, optional): Direct file path for attachmentattachment_url(string, optional): URL to download attachment fromattachment_name(string, optional): Filename for attachment
fetch_recent_emails
Fetch recent emails from a Gmail folder.
Parameters:
folder(string, optional): Email folder to fetch from (default: "INBOX")limit(integer, optional): Maximum number of emails to fetch (default: 10)
Testing
Test the server locally:
# Basic functionality test
python test_local.py
# stdio transport test
python test_stdio.py
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rickjang_gmail_mcp_server-1.1.0.tar.gz.
File metadata
- Download URL: rickjang_gmail_mcp_server-1.1.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c7b10873b5b2ea0e7f64b6c49b02f76f17664e0f6a8f968c27715ad12686ab8
|
|
| MD5 |
8636634c897393ba00010e05632e42b0
|
|
| BLAKE2b-256 |
83ce68c3cd87ab101ae91fa3af62015123914c5f42be6445e18d67b25e3a4fc3
|
File details
Details for the file rickjang_gmail_mcp_server-1.1.0-py3-none-any.whl.
File metadata
- Download URL: rickjang_gmail_mcp_server-1.1.0-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7aec32f64c56ec901fd6d2511982ed39f442c05309d7b6a07c8551d10631402c
|
|
| MD5 |
9673590240a3990b80cb9427cb0e02e0
|
|
| BLAKE2b-256 |
288ce2b4f14d3d2b1460d78d82ffc74aca69c343028246fd98ae853b13ec191b
|