
EmailMCP
This gives Claude direct access to email through a freemium model. You get 23 read-only tools for free to check inbox contents, parse messages, and monitor threads. The 28 paid tools at $9.99/month unlock sending capabilities, which is where the real automation happens. Tokens provision automatically, so there's no manual API key dance. It's delivered over streamable HTTP, making it straightforward to integrate if you're building agents that need to triage support queues, respond to routine inquiries, or trigger workflows based on incoming messages. The split between free read and paid write is clean enough that you can prototype the logic before committing to the subscription.
- tools
- 56
- transport
- HTTP
- last updated
- May 2, 2026
Install
From registry metadata$ npx add-mcp https://mcp.setip.io/mcp --name emailmcpRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http emailmcp https://mcp.setip.io/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 56 toolsVerified live against the running server on Nov 6, 2026.
send_emailSend an email with text or HTML content10 params
Send an email with text or HTML content
attachmentsarraybccarraybulk_modestringindividual · bcc · toccarrayfromstringhtmlstringproviderstringsubject*stringtext*stringto*arraysend_template_emailSend an email using a predefined template6 params
Send an email using a predefined template
bulk_modestringindividual · bcc · toproviderstringsubjectstringtemplate*stringto*arrayvariablesobjectvalidate_emailValidate email addresses and check deliverability3 params
Validate email addresses and check deliverability
check_mxbooleancheck_smtpbooleanemails*arrayget_email_usageGet email usage statistics — delivery rate, bounce rate, per-domain breakdown, top bounce reasons. Reads from persistent stats.3 params
Get email usage statistics — delivery rate, bounce rate, per-domain breakdown, top bounce reasons. Reads from persistent stats.
accountstringdomainstringperiodstringhour · day · week · monthdefault: dayverify_email_setupVerify IP whitelisting and email provider configuration4 params
Verify IP whitelisting and email provider configuration
domainstringinclude_dnsbooleanprovider*stringsendgrid · mailgun · ses · resend · alltest_emailstringlist_email_accountsList all configured IMAP email accounts. Shows default and named accounts (work, personal, etc.).
List all configured IMAP email accounts. Shows default and named accounts (work, personal, etc.).
No parameters. Call it with no arguments.
read_inboxRead 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.).4 params
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.).
accountstringfilterobjectimap_configobjectoptionsobjectget_mailbox_statusGet status information for an email mailbox. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.3 params
Get status information for an email mailbox. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.
accountstringimap_configobjectmailboxstringlist_mailboxesList all available mailboxes for an email account. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.2 params
List all available mailboxes for an email account. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.
accountstringimap_configobjectstart_smtp_receiverStart the SMTP server to receive forwarded corporate emails4 params
Start the SMTP server to receive forwarded corporate emails
allowedForwardersarrayenableThreadingbooleanportnumberreceivingDomainsarraystop_smtp_receiverStop the SMTP forward receiver server
Stop the SMTP forward receiver server
No parameters. Call it with no arguments.
get_smtp_receiver_statusGet the current status of the SMTP forward receiver
Get the current status of the SMTP forward receiver
No parameters. Call it with no arguments.
get_forwarded_emailsRetrieve forwarded emails with optional filtering4 params
Retrieve forwarded emails with optional filtering
limitnumberoriginalSenderstringsincestringthreadIdstringget_conversation_threadsGet conversation threads with forwarded emails4 params
Get conversation threads with forwarded emails
limitnumberparticipantstringsincestringsubjectstringget_conversation_contextGet full conversation context for a specific thread2 params
Get full conversation context for a specific thread
maxEmailsnumberthreadId*stringget_threads_for_senderGet all conversation threads involving a specific sender1 params
Get all conversation threads involving a specific sender
senderAddress*stringcheck_email_configCheck if email providers are configured, guide setup if needed
Check if email providers are configured, guide setup if needed
No parameters. Call it with no arguments.
configure_mailgunConfigure Mailgun email provider with step-by-step guidance3 params
Configure Mailgun email provider with step-by-step guidance
api_key*stringdomain*stringfrom_email*stringtest_email_configTest email configuration by sending a test email1 params
Test email configuration by sending a test email
test_emailstringcreate_mailboxCreate a new local mailbox for receiving email (autonomous mode). Each address gets its own inbox accessible via MCP tools.2 params
Create a new local mailbox for receiving email (autonomous mode). Each address gets its own inbox accessible via MCP tools.
address*stringdisplay_namestringdelete_mailboxDelete a local mailbox and all its stored emails (autonomous mode)1 params
Delete a local mailbox and all its stored emails (autonomous mode)
address*stringlist_local_mailboxesList all local mailboxes on this server (autonomous mode)
List all local mailboxes on this server (autonomous mode)
No parameters. Call it with no arguments.
request_email_ipRequest a dedicated WireGuard IP for email sending. Submits to the provisioning queue.2 params
Request a dedicated WireGuard IP for email sending. Submits to the provisioning queue.
account_idstringemail_domain*stringcheck_ip_statusCheck the status of a pending WireGuard IP provisioning request1 params
Check the status of a pending WireGuard IP provisioning request
request_idstringget_dns_recordsGenerate all required DNS records (A, MX, SPF, DKIM, DMARC) for autonomous email. Outputs copyable records for your DNS provider.5 params
Generate all required DNS records (A, MX, SPF, DKIM, DMARC) for autonomous email. Outputs copyable records for your DNS provider.
dkim_selectorstringdmarc_policystringnone · quarantine · rejectdomain*stringipv4*stringmail_hostnamestringverify_autonomous_setupVerify that autonomous email is properly configured: DNS records, DKIM, SMTP send/receive1 params
Verify that autonomous email is properly configured: DNS records, DKIM, SMTP send/receive
domain*stringsetup_autonomous_securityAuto-configure DKIM, SPF, and DMARC for autonomous email. Generates DKIM keys, creates DNS records, and outputs everything needed.4 params
Auto-configure DKIM, SPF, and DMARC for autonomous email. Generates DKIM keys, creates DNS records, and outputs everything needed.
dkim_selectorstringdmarc_policystringnone · quarantine · rejectdomain*stringipv4*stringcreate_email_ruleCreate a rule that triggers actions when incoming emails match conditions. Actions: forward, auto_reply, webhook, flag, move, mcp_tool, log, reject.6 params
Create a rule that triggers actions when incoming emails match conditions. Actions: forward, auto_reply, webhook, flag, move, mcp_tool, log, reject.
actions*arraydescriptionstringmatch*objectname*stringprioritynumberstopbooleanlist_email_rulesList all email rules with their match conditions, actions, and hit counts
List all email rules with their match conditions, actions, and hit counts
No parameters. Call it with no arguments.
delete_email_ruleDelete an email rule by ID1 params
Delete an email rule by ID
rule_id*stringupdate_email_ruleUpdate an existing email rule (enable/disable, change match/actions/priority)6 params
Update an existing email rule (enable/disable, change match/actions/priority)
actionsarrayenabledbooleanmatchobjectprioritynumberrule_id*stringstopbooleanstart_idle_watchStart real-time IMAP IDLE watching on email accounts. Get push notifications when new emails arrive. Works with Gmail, iCloud, Office365, etc.1 params
Start real-time IMAP IDLE watching on email accounts. Get push notifications when new emails arrive. Works with Gmail, iCloud, Office365, etc.
accountstringstop_idle_watchStop IMAP IDLE watching on an account (or all accounts)1 params
Stop IMAP IDLE watching on an account (or all accounts)
accountstringget_idle_statusGet status of IMAP IDLE watchers — which accounts are being watched, connection status, new email counts
Get status of IMAP IDLE watchers — which accounts are being watched, connection status, new email counts
No parameters. Call it with no arguments.
provision_startPhase 1: Create a cloud VPS with dedicated IP. Generates WireGuard config. Returns the IP and instructions to connect. Supports DigitalOcean, Vultr, Hetzner, OVH.4 params
Phase 1: Create a cloud VPS with dedicated IP. Generates WireGuard config. Returns the IP and instructions to connect. Supports DigitalOcean, Vultr, Hetzner, OVH.
cloud_api_key*stringcloud_provider*stringdigitalocean · vultr · hetzner · ovhregionstringservice_domain*stringprovision_resumeResume 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).
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).
No parameters. Call it with no arguments.
provision_statusShow current provisioning state — which phases are complete, what to do next
Show current provisioning state — which phases are complete, what to do next
No parameters. Call it with no arguments.
list_cloud_providersList supported cloud providers with pricing, regions, and PTR support info
List supported cloud providers with pricing, regions, and PTR support info
No parameters. Call it with no arguments.
start_health_monitorStart monitoring the provisioned email server — checks tunnel, SMTP, DNS, and IP reputation every 60 seconds. Auto-restarts on failure.
Start monitoring the provisioned email server — checks tunnel, SMTP, DNS, and IP reputation every 60 seconds. Auto-restarts on failure.
No parameters. Call it with no arguments.
get_health_statusGet current health status of the email server — tunnel, SMTP, DNS, IP blocklist checks
Get current health status of the email server — tunnel, SMTP, DNS, IP blocklist checks
No parameters. Call it with no arguments.
add_sending_domainAdd 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.1 params
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.
domain*stringlist_sending_domainsList all configured sending domains with their verification status
List all configured sending domains with their verification status
No parameters. Call it with no arguments.
remove_sending_domainRemove a sending domain and its DKIM keys1 params
Remove a sending domain and its DKIM keys
domain*stringget_domain_dns_recordsGet the DNS records a customer needs to add for a sending domain1 params
Get the DNS records a customer needs to add for a sending domain
domain*stringregenerate_zone_fileRegenerate the complete DNS zone file for the service domain including all customer subdomains. Use after adding/removing domains.
Regenerate the complete DNS zone file for the service domain including all customer subdomains. Use after adding/removing domains.
No parameters. Call it with no arguments.
create_email_accountCreate an email account with SMTP credentials. Returns SMTP password once — save it. The account can then send/receive via this server.3 params
Create an email account with SMTP credentials. Returns SMTP password once — save it. The account can then send/receive via this server.
address*stringdisplay_namestringdomainstringdelete_email_accountDelete an email account and revoke its SMTP credentials1 params
Delete an email account and revoke its SMTP credentials
address*stringlist_email_accounts_managedList all email accounts with SMTP credentials (optionally filtered by domain)1 params
List all email accounts with SMTP credentials (optionally filtered by domain)
domainstringreset_account_passwordReset the SMTP password for an email account. Returns new password once.1 params
Reset the SMTP password for an email account. Returns new password once.
address*stringstart_domain_verificationBegin 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/et...4 params
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/et...
domain*stringforward_to*stringreal_mx_targetstringttl_minutesnumberstop_domain_verificationTear 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.2 params
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.
domain*stringreal_mx_targetstringget_domain_verification_statusShow active verification windows, the receiver state, and TTLs.
Show active verification windows, the receiver state, and TTLs.
No parameters. Call it with no arguments.
get_domain_verification_emailsList mails received in the verification window for a given domain (e.g. to find Apple's verification code without checking the forward_to mailbox).1 params
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).
domain*stringset_personal_email_credentialsAttach 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...10 params
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...
address*stringimap_host*stringimap_password*stringimap_portnumberimap_user*stringsent_folderstringsmtp_host*stringsmtp_password*stringsmtp_portnumbersmtp_user*stringget_suppression_listView all addresses on the bounce suppression list — these addresses will be rejected on send
View all addresses on the bounce suppression list — these addresses will be rejected on send
No parameters. Call it with no arguments.
remove_from_suppressionRemove an address from the bounce suppression list (manual override to allow sending again)1 params
Remove an address from the bounce suppression list (manual override to allow sending again)
address*stringSponsors
Readme
Details
- Repository
- github.com/nfodor/emailmcp
- Categories
- AI & LLM Tools, Communication & Messaging
- Transport
- HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026