PlugWiki
@codefuturist/email-mcp logo

Email MCP Server by codefuturist: Setup for Claude, Cursor and More

CommunityLocal
Getnpm@codefuturist/email-mcpcodefuturist/email-mcp

Lets Claude or Cursor read, search, send and organize email in any IMAP/SMTP account.

This is a community server by codefuturist, not made by an email provider. It runs on your computer and signs in to your mailbox with your email address and an app password. Run the setup command first to save your account, then add the server to your app.

It can send mail and delete mail. Turn on the read-only switch if you only want it to read.

Good for

  • People who want an assistant to triage and answer their inbox
  • Users of Gmail, Outlook, Fastmail, iCloud or ProtonMail who want one setup for all
  • Developers who need scheduled sends and verification-code lookup

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install @codefuturist/email MCP

Claude Code

  1. 1

    Copy this prompt.

    Add the @codefuturist/email MCP server to Claude Code. Run this command:
    
    claude mcp add email -- npx -y @codefuturist/email-mcp stdio
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js, Node.js 24+, Run setup first.

Read-only mode: Add the environment variable MCP_EMAIL_READ_ONLY=true to the server entry. It removes the send, move, delete, label and bulk tools.

Run the guided setup once before you add the server: npx @codefuturist/email-mcp setup. It saves your account to ~/.config/email-mcp/config.toml. The server then starts with the stdio subcommand, which the config above includes. For one account you can use the MCP_EMAIL_* variables instead of setup. Use an app password for Gmail, Outlook and iCloud. The commands other than Claude Desktop and VS Code are adapted from the README by us.

Built from the package data we hold. Not yet tested by us.

Tools

  • Lists your folders with unread counts

    Shows every folder in an account with how many messages are unread and which is Inbox, Sent or Trash.

    Try: “Show my folders and how many unread each has.”

    Read · list_mailboxes

  • Lists recent emails in a folder

    Pages through a folder with filters and shows read, flagged, replied and attachment marks. Newsletters and automated mail are tagged.

    Try: “Show my 20 newest unread emails in the Inbox.”

    Read · list_emails

  • Reads one full email

    Fetches the whole message without marking it as read. You can ask for plain text, text without quoted replies, or the full form.

    Try: “Open the latest email from Sarah and summarise it.”

    Read · get_email

  • Reads up to 20 emails at once

    Fetches several full messages in one call, up to 20. Useful for triage and summaries.

    Try: “Read my 10 newest unread emails and tell me which need a reply.”

    Read · get_emails

  • Checks if an email is read, flagged or labelled

    Returns the read, flag and label state of one message without its body. Cheaper than opening the email.

    Try: “Is the invoice email from Monday still unread?”

    Read · get_email_status

  • Searches mail by keyword or filter

    Searches subject, sender and body, and attachment filenames when the local mirror is on. With no keyword it works as a plain filter.

    Try: “Find emails about the Q3 report from last month.”

    Read · search_emails

  • Reads a whole conversation

    Rebuilds a thread from its reply headers and returns all related messages without marking them read.

    Try: “Show the full thread about the contract renewal.”

    Read · get_thread

  • Gets an attachment from an email

    Downloads one attachment by filename or part id and returns it as base64. It can also save the file to a download folder if you set one.

    Try: “Download the PDF attached to the latest invoice email.”

    Files · download_attachment

  • Lists people you email most

    Builds a list of unique contacts from recent email headers, sorted by how often they appear.

    Try: “Who do I email most often this month?”

    Read · extract_contacts

  • Shows mailbox volume and top senders

    Reports email volume, top senders, daily trends and read and flagged counts for a folder.

    Try: “Who sends me the most email and on which days?”

    Read · get_email_stats

  • Sends a new email

    Sends a new message with plain text or HTML, CC and BCC. A rate limit of 10 sends a minute applies by default.

    Try: “Email tom@example.com that the meeting moves to 3pm.”

    Write · send_email

  • Replies to an email

    Sends a reply with correct threading and quotes the original by default. It sends right away.

    Try: “Reply to Anna and say I can do Thursday.”

    Write · reply_email

Read from the source code

Permissions

high risk · 5 things to watch

High risk

It can send email from your account and permanently delete mail, folders and labels. Set MCP_EMAIL_READ_ONLY=true unless you want your assistant to send or delete.

What it can do

Watch out for

  • It can send and permanently delete email

    send_email, reply_email and forward_email send at once, and delete_email, delete_mailbox and bulk_action can remove mail for good. Set MCP_EMAIL_READ_ONLY=true unless you need these. github.com

  • Your mail password can sit in plain text

    The password field takes a literal app password, a keychain: reference (macOS Keychain or Linux libsecret) or an env: reference. A literal value is stored in ~/.config/email-mcp/config.toml, which the README says is written with 0600 permissions. If you pass MCP_EMAIL_PASSWORD in your app's MCP config instead, the password sits in that file. Prefer the keychain option. github.com

  • Read-only mode still allows some writes

    Read-only removes the mailbox-write tools only. add_to_calendar, create_reminder, configure_verification and configure_alerts stay available. github.com

  • It keeps a local copy of your mail

    Reads are served from a local SQLite mirror of your mail and attachments on your disk. Protect the disk and delete the cache if you stop using it. github.com

  • The optional HTTP mode needs a token

    Streamable HTTP binds to 127.0.0.1 by default. If you bind it to another address, set a token with the --token option. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlySet MCP_EMAIL_READ_ONLY=true. It unregisters the mailbox-write tools (send, move, delete, labels, bulk). Calendar and Reminders writes, clipboard copy and config-writing tools stay available.
Talks toYour own IMAP and SMTP servers
Sign-in and keysConfig file at ~/.config/email-mcp/config.toml (0600). The password field is a literal app password, a keychain: reference (macOS Keychain or Linux libsecret) or an env: reference; the setup command offers to use the keychain.
Scopes
  • IMAP and SMTP login to your mailbox

  • Local calendar and Reminders on macOS (optional)

Questions

Is the email MCP server official?

No. It is a community project by codefuturist and is not made by Gmail, Outlook or any other email provider. It uses the standard IMAP and SMTP protocols.

Which email providers does it work with?

Any provider with IMAP and SMTP. The README lists auto-detection for Gmail, Outlook, Yahoo, iCloud, Fastmail, ProtonMail, Zoho and GMX.

Do I need an API key?

No key. You give it your email address and a password or app password, in a config file or in environment variables. Gmail and Microsoft 365 sign-in with OAuth2 is marked experimental.

Can I make it read-only?

Yes. Set MCP_EMAIL_READ_ONLY=true and the send, move, delete, label and bulk tools are not registered. Some calendar, reminder and settings tools stay available.

Can it delete my emails?

Yes. delete_email moves mail to Trash, or deletes it for good if asked. It can also delete folders and labels, so use read-only mode if you do not want that.

Does it run on my computer or in the cloud?

On your computer. It talks straight to your mail provider. The calendar and Reminders tools use macOS apps (Calendar on Linux through the default handler).

What Node.js version does it need?

Node.js 24 or newer for the npm version. A Homebrew binary that needs no Node.js is also listed in the README.

Information

updated Nov 2, 2026

Publisher
Community
Package
@codefuturist/email-mcp
Registry
npm
Transport
stdio, Streamable HTTP
Auth
token in env
Version
0.6.0
License
LGPL-3.0-or-later
Last commit
Oct 29, 2026
Listed in
Official MCP registry

GitHubnpmOfficial MCP Registry

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 2
  1. email-mcp README · github.com
  2. email-mcp tool registration · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.