loading…
Search for a command to run...
loading…
Unified MCP server for email across Gmail (REST API), Outlook (Microsoft Graph), iCloud, and generic IMAP/SMTP. 24 tools for search, send, organize, and batch-m
Unified MCP server for email across Gmail (REST API), Outlook (Microsoft Graph), iCloud, and generic IMAP/SMTP. 24 tools for search, send, organize, and batch-manage emails with built-in OAuth2 and encrypted credential storage.
A unified MCP server for email access across Gmail, Outlook, iCloud, and generic IMAP providers.
Install globally from npm:
npm install -g @marlinjai/email-mcp
Or run directly with npx (no install needed):
npx @marlinjai/email-mcp
npx @marlinjai/email-mcp setup
The wizard will walk you through provider selection and authentication. After each account, it asks if you'd like to add another — so you can set up Gmail, Outlook, and iCloud all in one go.
.mcp.json):{
"mcpServers": {
"email": {
"command": "npx",
"args": ["@marlinjai/email-mcp"]
}
}
}
No configuration needed — the setup wizard handles everything using built-in OAuth credentials (PKCE):
npx @marlinjai/email-mcp setup
# Select "Gmail" when prompted
# A browser window opens for Google authorization
# Grant the requested permissions and return to the terminal
Note: If you prefer to use your own OAuth app, create a Desktop OAuth 2.0 Client in the Google Cloud Console with the Gmail API enabled.
No configuration needed — the setup wizard handles everything using built-in OAuth credentials (PKCE):
npx @marlinjai/email-mcp setup
# Select "Outlook" when prompted
# A browser window opens for Microsoft authorization
# Sign in and grant the requested permissions
Note: If you prefer to use your own OAuth app, register one in the Azure Portal with
Mail.ReadWrite,Mail.Send, andoffline_accesspermissions.
npx @marlinjai/email-mcp setup
# Select "iCloud" when prompted
# Enter your iCloud email address
# Enter the app-specific password you generated
Run the setup wizard with your IMAP/SMTP server details:
npx @marlinjai/email-mcp setup
# Select "Other IMAP" when prompted
# Enter your IMAP host, port, and credentials
# Optionally enter SMTP host and port for sending
| Tool | Description |
|---|---|
email_list_accounts |
List all configured accounts with connection status |
email_add_account |
Add a new IMAP or iCloud account (Gmail/Outlook require setup wizard) |
email_remove_account |
Remove an account and its stored credentials |
email_test_account |
Test connection to an account |
| Tool | Description |
|---|---|
email_list_folders |
List all folders/labels for an account |
email_search |
Search emails with filters. Returns compact results by default (returnBody=false). Set returnBody=true to include full email bodies |
email_get |
Get full email content by ID (headers, body, attachment metadata) |
email_get_thread |
Get an entire email thread/conversation |
email_get_attachment |
Download a specific attachment by ID (returns base64 data) |
| Tool | Description |
|---|---|
email_send |
Compose and send a new email (to, cc, bcc, subject, body) |
email_reply |
Reply to an email (supports reply-all, preserves threading) |
email_forward |
Forward an email to new recipients |
email_draft_create |
Save a draft without sending |
email_draft_list |
List all drafts |
| Tool | Description |
|---|---|
email_move |
Move an email to a different folder. Supports sourceFolder for IMAP/iCloud |
email_delete |
Delete an email (trash or permanent). Supports sourceFolder for IMAP/iCloud |
email_mark |
Mark as read/unread, starred, or flagged. Supports sourceFolder for IMAP/iCloud |
email_label |
Add/remove labels (Gmail only) |
email_folder_create |
Create a new folder |
email_get_labels |
List all labels with counts (Gmail only) |
email_get_categories |
List all categories (Outlook only) |
| Tool | Description |
|---|---|
email_batch_delete |
Delete multiple emails at once (up to 1000 for Gmail, batches of 20 for Outlook, UID ranges for IMAP) |
email_batch_move |
Move multiple emails to a folder in a single call |
email_batch_mark |
Mark multiple emails read/unread, starred, or flagged at once |
All batch tools accept a sourceFolder parameter for IMAP/iCloud and include a sequential fallback for maximum compatibility.
Add the following to your .mcp.json file (project-level or global ~/.claude/.mcp.json):
{
"mcpServers": {
"email": {
"command": "npx",
"args": ["@marlinjai/email-mcp"]
}
}
}
Once configured, you can ask Claude to interact with your email:
# Install dependencies
pnpm install
# Build the project
pnpm build
# Run in development mode (watch for changes)
pnpm dev
# Run tests
pnpm test
# Run tests in watch mode
pnpm test:watch
# Run integration tests (requires real email accounts)
pnpm test:integration
If this project is useful to you, consider supporting its development:
MIT
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"marlinjai-email-mcp": {
"command": "npx",
"args": []
}
}
}