← Back to directory
M

MCP Email Server

Community
A multi-account MCP server for reading, searching, organizing, and sending email via IMAP and SMTP
Category
Other #71 of 230
Stars
★ 361 Very popular
Transport
stdio (local process)
Runtime
Python
Credentials
API key / credential required
License
BSD-3-Clause
Last commit
60FMRS · C

A fairly complete, cross-platform multi-account email MCP server with a guided setup UI, though the source material does not enumerate specific tool names, and local credential storage plus email-sending capability warrant careful risk review.

Strongest · Maintenance 15/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
11/20
Maintenance
15/20
Documentation
14/20
Setup experience
12/20
Why each score
Reliability 8/20
This review relies solely on the README. The project claims to use FastMCP and documents a stdio transport launch command, and a build-status badge implies CI exists. However, no manifest was cached, no tool list, and no test files were provided as direct evidence, so it is impossible to verify that declared tools match actual behavior or that the MCP init/tool-list handshake behaves as described. The README's mention of a 'legacy' compatibility mode and a multi-step migration path hints at version branching and potential edge cases, but error-handling details are not shown in the supplied material. Per the static calibration rule, without verifiable CI-plus-test evidence the score cannot exceed 12, so 8 is given.
Security and permissions 11/20
This server handles IMAP/SMTP credentials and has a real, external side effect (sending email). The README states passwords are stored via keyring, that legacy TOML files and keyring entries are left untouched during migration, and that the import flow is 'preview-first' with a required IMPORT confirmation — evidence of some deliberate confirmation design for destructive/replacing actions, which is a positive. However, the material gives no indication of whether the send-email action itself requires explicit confirmation or scoping, nor details on cross-account permission isolation or a full disclosure of network access boundaries (the actual Security doc is only linked externally, not included). No red-line issue was found (no malware, no evidence of covert credential exfiltration, no unconfirmed irreversible destructive default), so the red-line floor does not apply, but incomplete evidence on scoping/confirmation for the send action warrants a deduction to 11.
Maintenance 15/20
The repository is not archived, uses the BSD-3-Clause license, and displays release, GitHub Actions build-status, and Codecov badges, indicating an active CI/release pipeline. Only 2 open issues against 301 stars suggests reasonably responsive issue handling, though no direct issue history was reviewed. A separately maintained documentation site and mention of a notable version transition ('Local Email App V2') suggest ongoing active development. Lacking direct evidence of commit cadence, release dates, or issue response times prevents a perfect score, so 15 is given.
Documentation 14/20
The README is well structured, with a quick-start section, an MCP client config example, an optional migration path, and links to a categorized external documentation site (getting started, configuration, tools, transports, security, troubleshooting). A dedicated docs/security.md and troubleshooting links suggest layered documentation. However, specific tool parameter definitions, rate limits, and cost/limit disclosures are not present in the supplied material — only links to external docs whose content could not be verified — leaving uncertainty about documentation completeness, hence 14.
Setup experience 12/20
The README provides concrete steps from uv sync/uv run through to an MCP client JSON configuration, plus a uvx invocation for published releases, which is reasonably specific. However, the full setup flow depends on running a foreground UI process to configure accounts, and the added complexity of 'legacy' vs. 'managed' modes with a preview-then-confirm migration flow raises the practical step count and friction, so this does not qualify as a minimal-step setup. Additionally, per the static calibration rule, setup cannot exceed 15 without verifiable execution evidence (real CI plus committed tests covering key paths), which is absent here, so the score is further reduced to 12.

Static review · not runListed 2026-08-26

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkChanges third-party account data

Best for

  • Individuals or teams who want to read/search/organize/send email directly from an MCP client
  • Users with multiple IMAP/SMTP accounts who want unified management
  • Users comfortable with uv/uvx and local credential setup who can configure their own mail accounts

Not for

  • Users unwilling to store email passwords/credentials locally
  • Setups requiring OAuth (e.g., modern Gmail/Outlook auth) rather than username/password login, which the source material does not confirm is supported
  • Users wanting a fully cloud-hosted email service with no local configuration

Required permissions

  • Stores and uses email account credentials (username/password) in local keyring or managed SQLite storage
  • Reads and searches mailbox content via IMAP
  • Sends email on the user's behalf via SMTP
  • Local filesystem access to read/write configuration (TOML file or SQLite database)

Risks and side effects

  • Email credentials are stored locally (legacy TOML/keyring, or managed SQLite in V2); exposure of this storage could allow unauthorized mailbox access
  • Granting an AI client the ability to send email creates risk of unintended or malicious sends via prompt misuse
  • Migrating from legacy configuration to V2 involves credential import, which can hit conflicts or missing-credential issues if done incorrectly

Setup

Before you start

Runtime:Python

1) From a source checkout, run uv sync then uv run mcp-email-server ui (or uvx mcp-email-server@latest ui for a published V2 release) to open the configuration UI and add an email account with its address and password — common connection settings are auto-filled from the domain and remain editable; 2) optionally use 'Password & test' to verify the saved account; 3) add a server entry like {"mcpServers": {"mcp-email-server": {"command": "uvx", "args": ["mcp-email-server@latest", "stdio"]}}} to the MCP client configuration; 4) restart the MCP client to apply the settings; 5) ask the client to list configured accounts or recent messages to verify the connection.

MCP config · JSON
{"mcpServers": {"mcp-email-server": {"command": "uvx", "args": ["mcp-email-server@latest", "stdio"]}}}

Works in clients that read an "mcpServers" key. For clients such as VS Code that use a different key, the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "mcp-email-server": {
      "command": "uvx",
      "args": [
        "mcp-email-server@latest",
        "stdio"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add mcp-email-server -- uvx mcp-email-server@latest stdio

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Ask the client to list the configured email accounts or recent messages; a successful answer proves the IMAP/SMTP connection works.

Troubleshooting

  1. Configuration changes not taking effect: confirm the MCP client was restarted
  2. Legacy import reports a conflict or missing credential: consult the documentation's import troubleshooting section and run `config doctor` to check status
  3. Ensure you're using a release that explicitly documents Local Email App V2 support
  4. When testing from a source checkout, invoke `uv run --directory /path/to/mcp-email-server mcp-email-server stdio` rather than pairing a managed catalog with PyPI `@latest`

Things to try

Once connected, you can ask your AI assistant things like:

  • List my configured email accounts
  • Search for emails I received in the last week
  • Send an email to [email protected]
  • Move this message to the archive folder

Use cases

Letting an AI assistant search and organize inbox messages on your behalf
Drafting and sending email through natural-language instructions
Managing email operations across multiple accounts from one interface

Overview

mcp-email-server is an open-source Model Context Protocol server that lets MCP clients read, search, organize, and send email over IMAP and SMTP, with support for multiple accounts across Windows, macOS, and Linux. It ships a configuration UI (mcp-email-server ui) for setting up email accounts and can be run over stdio via uv/uvx for MCP client integration. Version 1.0.0 introduces 'Local Email App V2', which stores credentials in a managed SQLite database and offers a preview-first CLI migration path from legacy TOML/keyring configuration; unmigrated legacy settings continue to work in a backward-compatible mode without forced migration.

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 659 · Tools 11 Compare with this →

Source revision 2171db991fc2 Data synced 2026-10-19 Read the FMRS scoring method