EmailMCP

io.setipPublished by setip.ioOfficial publisherv1.0.1Updated Oct 27, 2026

AI agent email — 23 tools free to read inbox, 28 paid to send. $9.99/mo. Token auto-provisioned.

VerifiedStreamable HTTPWeb executableCloud & InfrastructureCommunication & Collaboration

Overview

AI-generated overview

Remote MCP server that lets an assistant send email, read IMAP inboxes, manage mailboxes and rules, and provision its own mail server.

What you can do
  • Send plain-text, HTML or templated email and validate recipient addresses
  • Read inboxes, mailboxes and mailbox status over IMAP, including named accounts
  • Receive forwarded mail through an SMTP receiver and browse conversation threads by sender
  • Create, list, update and delete local mailboxes and email rules with actions such as forward, auto-reply, webhook or reject
  • Watch accounts in real time with IMAP IDLE and check usage, bounce and delivery statistics
  • Provision a dedicated cloud VPS with WireGuard IP, DNS records, DKIM/SPF/DMARC and health monitoring
When to use it
Useful when an assistant needs to send mail, triage or read an inbox, or run rule-based mail handling without building its own mail stack. Also aimed at teams that want the server to provision and monitor a dedicated sending IP and domain.
Requirements
Remote streamable HTTP endpoint; no package install. A token is auto-provisioned per the registry description, and sending is billed at $9.99/mo. IMAP accounts, a Mailgun provider or cloud provider credentials (DigitalOcean, Vultr, Hetzner, OVH) are needed for the corresponding features, plus DNS access for autonomous setup.
Before you install
Sending email costs money and the server can create paid cloud VPS instances and request dedicated IPs. It can send mail, create and delete mailboxes with all stored email, and write rules that forward, auto-reply or call webhooks. It handles IMAP credentials and DNS/DKIM material, and forwards email content to third-party providers.

Installation

In SourceWeft

  1. Open EmailMCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.setip%2Femailmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "emailmcp": {
      "type": "http",
      "url": "https://mcp.setip.io/mcp"
    }
  }
}

README

This repository has no README.

Tools

56

send_email

Send an email with text or HTML content

Parameterscctorequiredbccfromhtmltextrequiredsubjectrequiredproviderbulk_modeattachments

send_template_email

Send an email using a predefined template

Parameterstorequiredsubjectprovidertemplaterequiredbulk_modevariables

validate_email

Validate email addresses and check deliverability

Parametersemailsrequiredcheck_mxcheck_smtp

get_email_usage

Get email usage statistics — delivery rate, bounce rate, per-domain breakdown, top bounce reasons. Reads from persistent stats.

Parametersdomainperiodaccount

verify_email_setup

Verify IP whitelisting and email provider configuration

Parametersdomainproviderrequiredtest_emailinclude_dns

list_email_accounts

List all configured IMAP email accounts. Shows default and named accounts (work, personal, etc.).

Takes no parameters.

read_inbox

Read emails from an inbox via IMAP with filtering options. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account (work, personal, etc.).

Parametersfilteraccountoptionsimap_config

get_mailbox_status

Get status information for an email mailbox. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.

Parametersaccountmailboximap_config

list_mailboxes

List all available mailboxes for an email account. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.

Parametersaccountimap_config

start_smtp_receiver

Start the SMTP server to receive forwarded corporate emails

ParametersportenableThreadingreceivingDomainsallowedForwarders

stop_smtp_receiver

Stop the SMTP forward receiver server

Takes no parameters.

get_smtp_receiver_status

Get the current status of the SMTP forward receiver

Takes no parameters.

get_forwarded_emails

Retrieve forwarded emails with optional filtering

ParameterslimitsincethreadIdoriginalSender

get_conversation_threads

Get conversation threads with forwarded emails

Parameterslimitsincesubjectparticipant

get_conversation_context

Get full conversation context for a specific thread

ParametersthreadIdrequiredmaxEmails

get_threads_for_sender

Get all conversation threads involving a specific sender

ParameterssenderAddressrequired

check_email_config

Check if email providers are configured, guide setup if needed

Takes no parameters.

configure_mailgun

Configure Mailgun email provider with step-by-step guidance

Parametersdomainrequiredapi_keyrequiredfrom_emailrequired

test_email_config

Test email configuration by sending a test email

Parameterstest_email

create_mailbox

Create a new local mailbox for receiving email (autonomous mode). Each address gets its own inbox accessible via MCP tools.

Parametersaddressrequireddisplay_name

delete_mailbox

Delete a local mailbox and all its stored emails (autonomous mode)

Parametersaddressrequired

list_local_mailboxes

List all local mailboxes on this server (autonomous mode)

Takes no parameters.

request_email_ip

Request a dedicated WireGuard IP for email sending. Submits to the provisioning queue.

Parametersaccount_idemail_domainrequired

check_ip_status

Check the status of a pending WireGuard IP provisioning request

Parametersrequest_id

get_dns_records

Generate all required DNS records (A, MX, SPF, DKIM, DMARC) for autonomous email. Outputs copyable records for your DNS provider.

Parametersipv4requireddomainrequireddmarc_policydkim_selectormail_hostname

verify_autonomous_setup

Verify that autonomous email is properly configured: DNS records, DKIM, SMTP send/receive

Parametersdomainrequired

setup_autonomous_security

Auto-configure DKIM, SPF, and DMARC for autonomous email. Generates DKIM keys, creates DNS records, and outputs everything needed.

Parametersipv4requireddomainrequireddmarc_policydkim_selector

create_email_rule

Create a rule that triggers actions when incoming emails match conditions. Actions: forward, auto_reply, webhook, flag, move, mcp_tool, log, reject.

Parametersnamerequiredstopmatchrequiredactionsrequiredprioritydescription

list_email_rules

List all email rules with their match conditions, actions, and hit counts

Takes no parameters.

delete_email_rule

Delete an email rule by ID

Parametersrule_idrequired

update_email_rule

Update an existing email rule (enable/disable, change match/actions/priority)

Parametersstopmatchactionsenabledrule_idrequiredpriority

start_idle_watch

Start real-time IMAP IDLE watching on email accounts. Get push notifications when new emails arrive. Works with Gmail, iCloud, Office365, etc.

Parametersaccount

stop_idle_watch

Stop IMAP IDLE watching on an account (or all accounts)

Parametersaccount

get_idle_status

Get status of IMAP IDLE watchers — which accounts are being watched, connection status, new email counts

Takes no parameters.

provision_start

Phase 1: Create a cloud VPS with dedicated IP. Generates WireGuard config. Returns the IP and instructions to connect. Supports DigitalOcean, Vultr, Hetzner, OVH.

Parametersregioncloud_api_keyrequiredcloud_providerrequiredservice_domainrequired

provision_resume

Resume provisioning from where you left off. Automatically detects the current phase and advances: WireGuard connection → DNS setup → TLS → verification. Run this after each user action (connecting WireGuard, adding DNS records).

Takes no parameters.

provision_status

Show current provisioning state — which phases are complete, what to do next

Takes no parameters.

list_cloud_providers

List supported cloud providers with pricing, regions, and PTR support info

Takes no parameters.

start_health_monitor

Start monitoring the provisioned email server — checks tunnel, SMTP, DNS, and IP reputation every 60 seconds. Auto-restarts on failure.

Takes no parameters.

get_health_status

Get current health status of the email server — tunnel, SMTP, DNS, IP blocklist checks

Takes no parameters.

add_sending_domain

Add a customer sending domain. Generates DKIM keys and returns the 4 DNS records the customer needs to add. Works like SendGrid domain authentication — self-hosted.

Parametersdomainrequired

list_sending_domains

List all configured sending domains with their verification status

Takes no parameters.

remove_sending_domain

Remove a sending domain and its DKIM keys

Parametersdomainrequired

get_domain_dns_records

Get the DNS records a customer needs to add for a sending domain

Parametersdomainrequired

regenerate_zone_file

Regenerate the complete DNS zone file for the service domain including all customer subdomains. Use after adding/removing domains.

Takes no parameters.

create_email_account

Create an email account with SMTP credentials. Returns SMTP password once — save it. The account can then send/receive via this server.

Parametersdomainaddressrequireddisplay_name

delete_email_account

Delete an email account and revoke its SMTP credentials

Parametersaddressrequired

list_email_accounts_managed

List all email accounts with SMTP credentials (optionally filtered by domain)

Parametersdomain

reset_account_password

Reset the SMTP password for an email account. Returns new password once.

Parametersaddressrequired

start_domain_verification

Begin a domain-verification window: temporarily set the target domain's MX to verify.setip.io, start (or reuse) the EmailMCP SMTP receiver on :25, and forward any inbound mail for *@domain to forward_to so a human can grab a verification code from the provider (Apple/Google/etc). Auto-tears down after ttl_minutes.

Parametersdomainrequiredforward_torequiredttl_minutesreal_mx_target

stop_domain_verification

Tear down an active domain-verification window: restore MX (snapshot or supplied real_mx_target), remove the per-domain forwarder. Stops the receiver if no other windows remain.

Parametersdomainrequiredreal_mx_target

get_domain_verification_status

Show active verification windows, the receiver state, and TTLs.

Takes no parameters.

get_domain_verification_emails

List mails received in the verification window for a given domain (e.g. to find Apple's verification code without checking the forward_to mailbox).

Parametersdomainrequired

set_personal_email_credentials

Attach a personal account's own SMTP + IMAP credentials (iCloud, Gmail app password, Fastmail, Office365, etc.) to an existing account. Once set, send_email with from=<address> sends via that SMTP and IMAP-APPENDs a copy to its Sent folder. Passwords are AES-256-GCM encrypted at rest with EMAILMCP_SECRET.

Parametersaddressrequiredimap_hostrequiredimap_portimap_userrequiredsmtp_hostrequiredsmtp_portsmtp_userrequiredsent_folderimap_passwordrequiredsmtp_passwordrequired

get_suppression_list

View all addresses on the bounce suppression list — these addresses will be rejected on send

Takes no parameters.

remove_from_suppression

Remove an address from the bounce suppression list (manual override to allow sending again)

Parametersaddressrequired

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.