MCP.so
Sign In

MCP Email Server

@ptbsare

Basic information

Category

Communication

Transports

stdio

Author

ptbsare

About MCP Email Server

This Python script implements an MCP (Model Context Protocol) server using the mcp library (FastMCP) that allows an LLM (like Claude) to interact with an email account using POP3 (for reading/deleting emails) and SMTP (for sending emails), both secured with TLS encryption.

MCP Email Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "email-mcp-server": {
      "command": "uv",
      "args": [
        "pip",
        "install",
        "-e",
        "."
      ]
    }
  }
}

MCP Email Server tools

Tool list not available yet

This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is MCP Email Server?

MCP Email Server is a Model Context Protocol (MCP) server that enables Large Language Models like Claude to read, send, and manage emails via POP3/SMTP with TLS. It provides tools for polling inboxes, fetching full emails with attachments, deleting messages, and sending plain text or HTML emails.

How to use MCP Email Server?

Users can run the server directly via uvx git+https://github.com/ptbsare/email-mcp-server with required CLI arguments (--email-user, --email-pass, --pop3-server, --smtp-server) or by cloning and running locally. Configuration can be provided via CLI arguments, environment variables, or a .env file (priority order: CLI > env > .env). Integrate with Claude Desktop by adding an entry to claude_desktop_config.json using the uvx command with either env or args fields.

Key features of MCP Email Server

  • Poll inbox email headers with configurable limit
  • Fetch full email content with automatic attachment extraction
  • Delete emails by ID (irreversible)
  • Send plain text and HTML emails with optional file attachments
  • Secure connections: POP3 over SSL (port 995), SMTP with STARTTLS (port 587) or SSL (port 465)
  • Config priority: CLI args > environment variables > .env file

Use cases of MCP Email Server

  • Let an LLM read recent inbox emails and summarize them
  • Send automated emails with attachment files based on LLM decisions
  • Manage email lifecycle (read, delete) through natural language commands
  • Generate and send HTML reports via LLM instructions

Frequently asked questions

1

What credentials are required?

An email address and password (or app password) for both POP3 and SMTP servers. If your provider uses 2FA, generate an App Password.

2

Are email IDs persistent across sessions?

No, POP3 IDs are session-specific. Call `pollEmails` before using IDs in `getEmailsById` or `deleteEmailsById`.

3

Where are received attachments stored?

Attachments are automatically saved to `/tmp/email_mcp_attachments/<email_id>/` on the server.

4

How can I configure TLS/SSL for SMTP?

SMTP port defaults to 587 (STARTTLS). Set `--smtp-use-ssl` (or env `SMTP_USE_SSL=true`) to use direct SSL on port 465.

5

Is the `.env` file safe from committing?

Yes, `.env` is listed in `.gitignore` by default. Never commit your credentials file.

Comments

More Communication MCP servers