Email

by shy2593666979

25 stars
3.8k downloads
Not rated
GitHub

About

This server enables users to send emails through various email providers, including Gmail, Outlook, Yahoo, Sina, Sohu, 126, 163, and QQ Mail. It also supports attaching files from specified directories, making it easy to upload attachments along with the email content.

Details

Author
shy2593666979
Repository
Shy2593666979/mcp-server-email
GitHub stars
25
Downloads
3,755
License
MIT License
Categories
Communication, Community, Other, Productivity, Developer Tools, Design, Workplace, File Management, AI, Media, Search, Automation, Infrastructure
Tags
#integration

- Send emails with multiple recipients
- Support for email attachments
- Search for files in directories based on pattern matching
- Secure email transmission using SMTP

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Email
    Command (node, npx, python, etc.) python
    Arguments
    • Argument 1 -m
    • Argument 2 mcp_email_server
    • Argument 3 --dir
    • Argument 4 /path/to/attachment/directory

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

An email.json file with SMTP server configurations:

[
  {
    "domain": "@gmail.com",
    "server": "smtp.gmail.com", 
    "port": 587
  },
  {
    "domain": "@outlook.com",
    "server": "smtp.office365.com",
    "port": 587
  },
  {
    "domain": "@yahoo.com",
    "server": "smtp.mail.yahoo.com",
    "port": 587
  }
]

Start the MCP Email Server with:

python -m mcp_email_server (--dir /path/to/attachment/directory)

Add to your Claude settings:

send_email

Sends emails based on the provided subject, body, and receiver. Parameters: receiver (array of strings, required), body (string, required), subject (string, required), attachments (array of strings or string, optional).

search_attachments

Searches for files in a specified directory that match a given pattern. Parameters: pattern (string, required).

- send_email - Sends emails based on the provided subject, body, and receiver.
- receiver (array of strings, required): List of recipient email addresses
- body (string, required): The main content of the email
- subject (string, required): The subject line of the email
- attachments (array of strings or string, optional): Email attachments (filenames)

- search_attachments - Searches for files in a specified directory that match a given pattern.
- pattern (string, required): The text pattern to search for in file names

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "email": {
            "env": {},
            "args": [
                "-m",
                "mcp_email_server",
                "--dir",
                "/path/to/attachment/directory"
            ],
            "shell": false,
            "command": "python"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-m",
        "mcp_email_server",
        "--dir",
        "/path/to/attachment/directory"
    ],
    "shell": false,
    "command": "python"
}

Macos

{
    "env": [],
    "args": [
        "-m",
        "mcp_email_server",
        "--dir",
        "/path/to/attachment/directory"
    ],
    "shell": false,
    "command": "python"
}

Windows

{
    "env": {
        "SENDER": "2593666979q@gmail.com",
        "PASSWORD": "tuogk......."
    },
    "args": [
        "C:\\Users\\YourUserName\\Desktop\\servers\\src\\email\\src\\mcp_server_email",
        "--dir",
        "C:\\Users\\YourUserName\\Desktop"
    ],
    "command": "D:\\conda\\envs\\mcp\\python.exe"
}

MCP Email Server

A Model Context Protocol server that provides email functionality. This server enables LLMs to compose and send emails, as well as search for attachments within specified directories.
1742711978001

1742712768132

Features

- Send emails with multiple recipients
- Support for email attachments
- Search for files in directories based on pattern matching
- Secure email transmission using SMTP

Available Tools

- send_email - Sends emails based on the provided subject, body, and receiver.
- receiver (array of strings, required): List of recipient email addresses
- body (string, required): The main content of the email
- subject (string, required): The subject line of the email
- attachments (array of strings or string, optional): Email attachments (filenames)

- search_attachments - Searches for files in a specified directory that match a given pattern.
- pattern (string, required): The text pattern to search for in file names

Prompts

- send_email
- Send an email with optional attachments
- Arguments:
- receiver (required): The list of recipient email addresses
- body (required): The main content of the email
- subject (required): The subject line of the email
- attachments (optional): Email attachments

- search_attachments
- Search for files matching a pattern
- Arguments:
- pattern (required): The text pattern to search for in file names

Installation

Using pip

Install the required dependencies:

pip install pydantic python-dotenv

Email Configuration

An email.json file with SMTP server configurations:

[
  {
    "domain": "@gmail.com",
    "server": "smtp.gmail.com", 
    "port": 587
  },
  {
    "domain": "@outlook.com",
    "server": "smtp.office365.com",
    "port": 587
  },
  {
    "domain": "@yahoo.com",
    "server": "smtp.mail.yahoo.com",
    "port": 587
  }
]

Usage

Running the Server

Start the MCP Email Server with:

python -m mcp_email_server (--dir /path/to/attachment/directory)

Configure for Claude.app

Add to your Claude settings:

Conda

{
  "mcpServers": {
    "email": {
      "command": "D:\\conda\\envs\\mcp\\python.exe",
      "args": [
        "C:\\Users\\YourUserName\\Desktop\\servers\\src\\email\\src\\mcp_server_email",
        "--dir",
        "C:\\Users\\YourUserName\\Desktop"
      ],
      "env": {
        "SENDER": "2593666979q@gmail.com",
        "PASSWORD": "tuogk......."
      }
    }
  }
}

UV

{
  "mcpServers": {
    "email": {
      "command": "uv",
      "args": [
        "~\\servers\\src\\email\\src\\mcp_server_email",
        "--dir",
        "C:\\Users\\YourUserName\\Desktop"
      ],
      "env": {
        "SENDER": "2593666979q@gmail.com",
        "PASSWORD": "tuogk......."
      }
    }
  }
}

Security Notes

- For Gmail and other services, you may need to use an app-specific password
- The server supports a limited set of attachment file types for security reasons

Supported File Types

The server supports the following attachment file types:

- Documents: doc, docx, xls, xlsx, ppt, pptx, pdf
- Archives: zip, rar, 7z, tar, gz
- Text files: txt, log, csv, json, xml
- Images: jpg, jpeg, png, gif, bmp
- Other: md

Example Usage

Sending an Email

{
  "receiver": ["recipient@example.com"],
  "subject": "Test Email from MCP Server",
  "body": "This is a test email sent via the MCP Email Server.",
  "attachments": ["document.pdf", "image.jpg"]
}

Searching for Attachments

{
  "pattern": "report"
}

Contributing

We encourage contributions to help expand and improve the MCP Email Server. Whether you want to add new tools, enhance existing functionality, or improve documentation, your input is valuable.

For examples of other MCP servers and implementation patterns, see:

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.