EmailMCP
io.setip/emailmcp · v1.0.1 · MCP 2025-11-25
AI agent email — 23 tools free to read inbox, 28 paid to send. $9.99/mo. Token auto-provisioned.
Reachability
reachable
checked 2026-07-14 04:31 UTC
Registry status active
Tools pinned 56
8ac5a114ab77
Tools last changed
unchanged since first capture 2026-07-14
Provenance
Registry namespace io.setip
(domain verified by the official registry)
Repository
github.com/nfodor/emailmcp
Remote endpoints
https://mcp.setip.io/mcp (streamable-http)
Observed changes
| When (UTC) | Event | Detail |
|---|---|---|
| 2026-07-14 03:24 | first capture | 56 tools pinned |
Pinned tool definitions (56)
| Tool | Description |
|---|---|
| send_email | Send an email with text or HTML content |
| send_template_email | Send an email using a predefined template |
| validate_email | Validate email addresses and check deliverability |
| get_email_usage | Get email usage statistics — delivery rate, bounce rate, per-domain breakdown, top bounce reasons. Reads from persistent stats. |
| verify_email_setup | Verify IP whitelisting and email provider configuration |
| list_email_accounts | List all configured IMAP email accounts. Shows default and named accounts (work, personal, etc.). |
| 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.). |
| 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. |
| 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. |
| start_smtp_receiver | Start the SMTP server to receive forwarded corporate emails |
| stop_smtp_receiver | Stop the SMTP forward receiver server |
| get_smtp_receiver_status | Get the current status of the SMTP forward receiver |
| get_forwarded_emails | Retrieve forwarded emails with optional filtering |
| get_conversation_threads | Get conversation threads with forwarded emails |
| get_conversation_context | Get full conversation context for a specific thread |
| get_threads_for_sender | Get all conversation threads involving a specific sender |
| check_email_config | Check if email providers are configured, guide setup if needed |
| configure_mailgun | Configure Mailgun email provider with step-by-step guidance |
| test_email_config | Test email configuration by sending a test email |
| create_mailbox | Create a new local mailbox for receiving email (autonomous mode). Each address gets its own inbox accessible via MCP tools. |
| delete_mailbox | Delete a local mailbox and all its stored emails (autonomous mode) |
| list_local_mailboxes | List all local mailboxes on this server (autonomous mode) |
| request_email_ip | Request a dedicated WireGuard IP for email sending. Submits to the provisioning queue. |
| check_ip_status | Check the status of a pending WireGuard IP provisioning request |
| get_dns_records | Generate all required DNS records (A, MX, SPF, DKIM, DMARC) for autonomous email. Outputs copyable records for your DNS provider. |
| verify_autonomous_setup | Verify that autonomous email is properly configured: DNS records, DKIM, SMTP send/receive |
| setup_autonomous_security | Auto-configure DKIM, SPF, and DMARC for autonomous email. Generates DKIM keys, creates DNS records, and outputs everything needed. |
| 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. |
| list_email_rules | List all email rules with their match conditions, actions, and hit counts |
| delete_email_rule | Delete an email rule by ID |
| update_email_rule | Update an existing email rule (enable/disable, change match/actions/priority) |
| 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. |
| stop_idle_watch | Stop IMAP IDLE watching on an account (or all accounts) |
| get_idle_status | Get status of IMAP IDLE watchers — which accounts are being watched, connection status, new email counts |
| 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. |
| 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). |
| provision_status | Show current provisioning state — which phases are complete, what to do next |
| list_cloud_providers | List supported cloud providers with pricing, regions, and PTR support info |
| start_health_monitor | Start monitoring the provisioned email server — checks tunnel, SMTP, DNS, and IP reputation every 60 seconds. Auto-restarts on failure. |
| get_health_status | Get current health status of the email server — tunnel, SMTP, DNS, IP blocklist checks |
| 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. |
| list_sending_domains | List all configured sending domains with their verification status |
| remove_sending_domain | Remove a sending domain and its DKIM keys |
| get_domain_dns_records | Get the DNS records a customer needs to add for a sending domain |
| regenerate_zone_file | Regenerate the complete DNS zone file for the service domain including all customer subdomains. Use after adding/removing domains. |
| 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. |
| delete_email_account | Delete an email account and revoke its SMTP credentials |
| list_email_accounts_managed | List all email accounts with SMTP credentials (optionally filtered by domain) |
| reset_account_password | Reset the SMTP password for an email account. Returns new password once. |
| 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... |
| 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. |
| get_domain_verification_status | Show active verification windows, the receiver state, and TTLs. |
| 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). |
| 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... |
| get_suppression_list | View all addresses on the bounce suppression list — these addresses will be rejected on send |
| remove_from_suppression | Remove an address from the bounce suppression list (manual override to allow sending again) |
Status badge
[](https://toolpin.dev/servers/io.setip/emailmcp)
Maintain this server? Add the badge to your README — it links your users to this live status page.