MCP Mail Organizer

MCP Mail Organizer

Enables comprehensive email management through IMAP/SMTP protocols with tools for searching, organizing, moving, flagging, and sending emails across various email providers. Features safe preview mode for destructive operations and supports multiple email providers including Gmail, Outlook, and Chinese email services.

Category
Visit Server

README

MCP Mail Organizer

A Model Context Protocol (MCP) server that provides unified mail operations with atomic tools for organizing and managing your email efficiently.

Features

  • Mailbox Management: List, create mailboxes/folders
  • Email Search: Search emails with multiple criteria (from, to, subject, date ranges, flags, etc.)
  • Email Operations: Get detailed email information, move emails, delete emails
  • Flag Management: Mark emails as read/unread, add/remove custom flags
  • Email Sending: Send emails with text/HTML content and attachments
  • Safety: Preview mode for destructive operations (delete, move)

Installation

Global Installation (Recommended)

npm install -g mcp-mail-organizer

Local Installation

  1. Clone the repository:
git clone https://github.com/neomody77/mcp-mail-organizer.git
cd mcp-mail-organizer
npm install
npm run build
  1. Create environment file:
cp .env.example .mail.env
  1. Configure your email credentials in .mail.env:
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your.email@gmail.com
SMTP_PASS=your-app-specific-password

IMAP_HOST=imap.gmail.com
IMAP_PORT=993
IMAP_SECURE=true
IMAP_USER=your.email@gmail.com
IMAP_PASS=your-app-specific-password

Usage with Claude Code

Global Installation Usage

Add to your Claude Code .mcp.json file:

{
  "mcpServers": {
    "mail-organizer": {
      "command": "mcp-mail-organizer",
      "args": ["--env-file", ".mail.env"],
      "cwd": ".",
      "env": {}
    }
  }
}

Local Installation Usage

{
  "mcpServers": {
    "mail-organizer": {
      "command": "node",
      "args": ["./mcp-mail-organizer/dist/index.js", "--env-file", ".mail.env"],
      "cwd": ".",
      "env": {}
    }
  }
}

Available Tools

Mailbox Management

  • list_mailboxes: List all available mailboxes/folders
  • create_mailbox: Create a new mailbox/folder

Email Search & Retrieval

  • search_emails: Search emails with criteria (from, to, subject, date ranges, flags)
  • get_email: Get detailed information about a specific email

Email Operations

  • move_emails: Move emails to another mailbox
  • delete_emails: Delete emails permanently (with preview mode)
  • mark_seen: Mark emails as read or unread
  • add_flags: Add flags to emails
  • remove_flags: Remove flags from emails

Email Sending

  • send_mail: Send an email with text/HTML content and optional attachments

Example Usage

Search for unread emails

{
  "name": "search_emails",
  "arguments": {
    "unreadOnly": true,
    "sinceDays": 7,
    "limit": 10
  }
}

Move emails to folder

{
  "name": "move_emails", 
  "arguments": {
    "uids": [123, 456],
    "destination": "Archive/2025"
  }
}

Send email

{
  "name": "send_mail",
  "arguments": {
    "to": "recipient@example.com",
    "subject": "Test Subject",
    "text": "Hello from MCP Mail Organizer!"
  }
}

Safety Features

  • Preview Mode: Destructive operations (delete, bulk move) default to preview mode
  • Batch Limits: Large operations are recommended to be chunked (≤ 200 messages per batch)
  • Fallback Support: Automatic fallback from MOVE to COPY+DELETE if server doesn't support MOVE
  • Environment Security: All credentials stored in .env files, not in configuration

Email Provider Setup

Gmail

  1. Enable 2-factor authentication
  2. Generate an app-specific password
  3. Use IMAP settings:
    • IMAP: imap.gmail.com:993 (SSL)
    • SMTP: smtp.gmail.com:587 (STARTTLS)

Outlook/Hotmail

  1. Enable IMAP in Outlook settings
  2. Use IMAP settings:
    • IMAP: outlook.office365.com:993 (SSL)
    • SMTP: smtp-mail.outlook.com:587 (STARTTLS)

139.com (China Mobile)

  1. Enable IMAP/SMTP in webmail settings
  2. Login to webmail.139.com → Settings → Enable IMAP/SMTP
  3. Use IMAP settings:
    • IMAP: imap.139.com:993 (SSL)
    • SMTP: smtp.139.com:587 (STARTTLS)

QQ Mail

  1. Generate authorization code in QQ Mail settings
  2. Use IMAP settings:
    • IMAP: imap.qq.com:993 (SSL)
    • SMTP: smtp.qq.com:587 (STARTTLS)

Troubleshooting

The server includes comprehensive debug logging. If you encounter issues:

  1. Environment Variables: The server validates all required variables on startup
  2. Connection Testing: Automatically tests SMTP/IMAP connections
  3. Debug Output: Detailed logging shows exactly where failures occur
  4. Preview Mode: Destructive operations show preview by default

Development

npm run dev    # Watch mode for development
npm run build  # Build TypeScript
npm start      # Start production server

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Repository

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured