EmailMCP
Server Details
AI agent email — 23 tools free to read inbox, 28 paid to send. $9.99/mo. Token auto-provisioned.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- nfodor/emailmcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 56 tools
Several tool groups overlap heavily: list_mailboxes vs list_local_mailboxes vs list_email_accounts_managed, and check_email_config vs verify_email_setup vs test_email_config vs verify_autonomous_setup all appear to serve similar purposes. The sheer number of status/get tools (health, idle, smtp_receiver, mailbox) and DNS-related tools also creates boundary confusion.
All names use snake_case and mostly follow verb_noun, but the verbs are highly varied (add, check, configure, create, delete, get, list, provision, read, reset, send, set, setup, start, stop, test, update, validate, verify). There is no coherent style, with oddities like provision_start, provision_resume, and setup_autonomous_security vs verify_autonomous_setup. It is readable but not predictable.
56 tools is excessive for a single MCP server, even a comprehensive email management one. Many tools could be consolidated (e.g., multiple status tools, multiple DNS record generators, multiple mailbox/account listing tools). This creates navigational burden and makes the set feel bloated.
The tool surface covers most core email lifecycle needs: sending, receiving, domain management, rules, provisioning, verification, monitoring, suppression, and conversation threads. Minor gaps exist, such as no template CRUD (only send_template_email) and no mailbox-level operations beyond create/delete/list/status, but these are workable.
Available Tools
56 toolsadd_sending_domainAInspect
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.
Inputs: domain (required).
check_email_configBInspect
Check if email providers are configured, guide setup if needed
Inputs: no named parameters.
check_ip_statusAInspect
Check the status of a pending WireGuard IP provisioning request
Inputs: request_id.
configure_mailgunCInspect
Configure Mailgun email provider with step-by-step guidance
Inputs: domain (required), api_key (required), from_email (required).
create_email_accountAInspect
Create an email account with SMTP credentials. Returns SMTP password once — save it. The account can then send/receive via this server.
Inputs: address (required), domain, display_name.
create_email_ruleAInspect
Create a rule that triggers actions when incoming emails match conditions. Actions: forward, auto_reply, webhook, flag, move, mcp_tool, log, reject.
Inputs: name (required), match (required), actions (required), stop, +2 more.
create_mailboxAInspect
Create a new local mailbox for receiving email (autonomous mode). Each address gets its own inbox accessible via MCP tools.
Inputs: address (required), display_name.
delete_email_accountAInspect
Delete an email account and revoke its SMTP credentials
Inputs: address (required).
delete_email_ruleBInspect
Delete an email rule by ID
Inputs: rule_id (required).
delete_mailboxAInspect
Delete a local mailbox and all its stored emails (autonomous mode)
Inputs: address (required).
get_conversation_contextAInspect
Get full conversation context for a specific thread
Inputs: threadId (required), maxEmails.
get_conversation_threadsCInspect
Get conversation threads with forwarded emails
Inputs: limit, since, subject, participant.
get_dns_recordsAInspect
Generate all required DNS records (A, MX, SPF, DKIM, DMARC) for autonomous email. Outputs copyable records for your DNS provider.
Inputs: ipv4 (required), domain (required), dmarc_policy, dkim_selector, +1 more.
get_domain_dns_recordsAInspect
Get the DNS records a customer needs to add for a sending domain
Inputs: domain (required).
get_domain_verification_emailsAInspect
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).
Inputs: domain (required).
get_domain_verification_statusAInspect
Show active verification windows, the receiver state, and TTLs.
Inputs: no named parameters.
get_email_usageAInspect
Get email usage statistics — delivery rate, bounce rate, per-domain breakdown, top bounce reasons. Reads from persistent stats.
Inputs: domain, period, account.
get_forwarded_emailsCInspect
Retrieve forwarded emails with optional filtering
Inputs: limit, since, threadId, originalSender.
get_health_statusAInspect
Get current health status of the email server — tunnel, SMTP, DNS, IP blocklist checks
Inputs: no named parameters.
get_idle_statusAInspect
Get status of IMAP IDLE watchers — which accounts are being watched, connection status, new email counts
Inputs: no named parameters.
get_mailbox_statusBInspect
Get status information for an email mailbox. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.
Inputs: account, mailbox, imap_config.
get_smtp_receiver_statusAInspect
Get the current status of the SMTP forward receiver
Inputs: no named parameters.
get_suppression_listAInspect
View all addresses on the bounce suppression list — these addresses will be rejected on send
Inputs: no named parameters.
get_threads_for_senderAInspect
Get all conversation threads involving a specific sender
Inputs: senderAddress (required).
list_cloud_providersAInspect
List supported cloud providers with pricing, regions, and PTR support info
Inputs: no named parameters.
list_email_accountsBInspect
List all configured IMAP email accounts. Shows default and named accounts (work, personal, etc.).
Inputs: no named parameters.
list_email_accounts_managedAInspect
List all email accounts with SMTP credentials (optionally filtered by domain)
Inputs: domain.
list_email_rulesAInspect
List all email rules with their match conditions, actions, and hit counts
Inputs: no named parameters.
list_local_mailboxesBInspect
List all local mailboxes on this server (autonomous mode)
Inputs: no named parameters.
list_mailboxesBInspect
List all available mailboxes for an email account. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.
Inputs: account, imap_config.
list_sending_domainsAInspect
List all configured sending domains with their verification status
Inputs: no named parameters.
provision_resumeAInspect
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).
Inputs: no named parameters.
provision_startAInspect
Phase 1: Create a cloud VPS with dedicated IP. Generates WireGuard config. Returns the IP and instructions to connect. Supports DigitalOcean, Vultr, Hetzner, OVH.
Inputs: cloud_api_key (required), cloud_provider (required), service_domain (required), region.
provision_statusAInspect
Show current provisioning state — which phases are complete, what to do next
Inputs: no named parameters.
read_inboxAInspect
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.).
Inputs: filter, account, options, imap_config.
regenerate_zone_fileAInspect
Regenerate the complete DNS zone file for the service domain including all customer subdomains. Use after adding/removing domains.
Inputs: no named parameters.
remove_from_suppressionAInspect
Remove an address from the bounce suppression list (manual override to allow sending again)
Inputs: address (required).
remove_sending_domainAInspect
Remove a sending domain and its DKIM keys
Inputs: domain (required).
request_email_ipAInspect
Request a dedicated WireGuard IP for email sending. Submits to the provisioning queue.
Inputs: email_domain (required), account_id.
reset_account_passwordAInspect
Reset the SMTP password for an email account. Returns new password once.
Inputs: address (required).
send_emailCInspect
Send an email with text or HTML content
Inputs: to (required), text (required), subject (required), cc, +6 more.
send_template_emailBInspect
Send an email using a predefined template
Inputs: to (required), template (required), subject, provider, +2 more.
set_personal_email_credentialsAInspect
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= sends via that SMTP and IMAP-APPENDs a copy to its Sent folder. Passwords are AES-256-GCM encrypted at rest with EMAILMCP_SECRET.
Inputs: address (required), imap_host (required), imap_user (required), smtp_host (required), +6 more.
setup_autonomous_securityAInspect
Auto-configure DKIM, SPF, and DMARC for autonomous email. Generates DKIM keys, creates DNS records, and outputs everything needed.
Inputs: ipv4 (required), domain (required), dmarc_policy, dkim_selector.
start_domain_verificationAInspect
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.
Inputs: domain (required), forward_to (required), ttl_minutes, real_mx_target.
start_health_monitorAInspect
Start monitoring the provisioned email server — checks tunnel, SMTP, DNS, and IP reputation every 60 seconds. Auto-restarts on failure.
Inputs: no named parameters.
start_idle_watchAInspect
Start real-time IMAP IDLE watching on email accounts. Get push notifications when new emails arrive. Works with Gmail, iCloud, Office365, etc.
Inputs: account.
start_smtp_receiverBInspect
Start the SMTP server to receive forwarded corporate emails
Inputs: port, enableThreading, receivingDomains, allowedForwarders.
stop_domain_verificationAInspect
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.
Inputs: domain (required), real_mx_target.
stop_idle_watchAInspect
Stop IMAP IDLE watching on an account (or all accounts)
Inputs: account.
stop_smtp_receiverAInspect
Stop the SMTP forward receiver server
Inputs: no named parameters.
test_email_configAInspect
Test email configuration by sending a test email
Inputs: test_email.
update_email_ruleAInspect
Update an existing email rule (enable/disable, change match/actions/priority)
Inputs: rule_id (required), stop, match, actions, +2 more.
validate_emailCInspect
Validate email addresses and check deliverability
Inputs: emails (required), check_mx, check_smtp.
verify_autonomous_setupCInspect
Verify that autonomous email is properly configured: DNS records, DKIM, SMTP send/receive
Inputs: domain (required).
verify_email_setupCInspect
Verify IP whitelisting and email provider configuration
Inputs: provider (required), domain, test_email, include_dns.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Email inboxes for AI agents: wait for mail, pull out verification codes and links, reply. Free.
Email for AI agents: its own address, not your Gmail. Invite-only; requires an agent token.
Email for AI agents: inboxes, send/reply/forward, search, threads, webhooks — 21 SentFromAI tools.
Email inboxes for AI agents: send, reply, read verification codes, human-approved drafts.
Related MCP Servers
- -licenseCqualityBmaintenanceGives on-the-fly inboxes to AI agents. Agents / LLM's can send, receive, and take action in isolated inboxes. Built for AI unlike Gmail. Check us out at agentmail.to10111-
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to autonomously create email accounts, verify domains, send and receive emails, and monitor delivery events without requiring human sign-up or payment.1-
- AlicenseAqualityBmaintenanceEmail for AI agents. Create inboxes, send and receive emails without phone or CAPTCHA. Inboxes are server-readable, not end-to-end encrypted.2175 npmMIT
- AlicenseAqualityCmaintenanceGives AI agents their own email address with inbound parsing, classification, extraction, and prompt injection screening, plus tools to manage mailboxes, send/receive emails, and handle draft approval workflows.1466 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.