Skip to main content

A Model Context Protocol server for email

Project description

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: https://github.com/modelcontextprotocol/servers

Pull requests are welcome! Feel free to contribute new ideas, bug fixes, or enhancements to make the MCP Email Server even more powerful and useful.

License

MCP Email Server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.

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

mcp_server_email-0.1.0.tar.gz (25.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_email-0.1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_email-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_server_email-0.1.0.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.9

File hashes

Hashes for mcp_server_email-0.1.0.tar.gz
Algorithm Hash digest
SHA256 95ab374cd04f6e640af7d22fa4d76068385bc660da38f38e152fc80b21bcbf3c
MD5 ecf072c8d90d90f5f7b8b40c673596f2
BLAKE2b-256 1a73ad1ab9afa45477f585d752f16b4379b0f49031418f023c8c2a1580ef265d

See more details on using hashes here.

File details

Details for the file mcp_server_email-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_email-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2610cafe4a47374a6737b7c7af6ff1087e8e8515e6b647f82d8b2ecb6431e3e6
MD5 eb7e5f8781037ea1583a6f0d189c7b4f
BLAKE2b-256 f8f130664c80d1708b0dbc466ac9712a94fbea4eaf03a1238fea9b59385f9f62

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page