Community Gmail server with auto-auth: search, read and send email via MCP.
EmailMCP is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
AI agent email — 23 tools free to read inbox, 28 paid to send. $9.99/mo. Token auto-provisioned.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http emailmcp https://mcp.setip.io/mcp
# 2 — ask your agent for something these tools do
# send_email, send_template_email, validate_email and 53 more
EmailMCP costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http emailmcp https://mcp.setip.io/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
56 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Send an email with text or HTML content
| Parameter | Type | Required | Notes |
|---|---|---|---|
| to | array | yes | Array of recipient email addresses |
| cc | array | no | Array of CC recipient email addresses |
| bcc | array | no | Array of BCC recipient email addresses |
| subject | string | yes | Email subject line |
| text | string | yes | Plain text content of the email |
| html | string | no | HTML content of the email |
| attachments | array | no | Array of file attachments |
| provider | string | no | Send via a specific provider instead of the default (e.g. smtp, mailgun, sendgrid, ses, gmail, resend). Requires that provider's credentials in env. |
| from | string | no | Personal account address to send from. If set and matching account has personal SMTP/IMAP credentials (via set_personal_email_credentials), sends via that account and IMAP-APPENDs a copy to its Sent f |
| bulk_mode | string | no | Required when sending to multiple recipients. "individual": sends a separate email to each recipient (safest). "bcc": puts first recipient in TO:, rest in BCC. "to": puts all in TO: (exposes addresses |
Send an email using a predefined template
| Parameter | Type | Required | Notes |
|---|---|---|---|
| to | array | yes | Array of recipient email addresses |
| template | string | yes | Template name or path |
| variables | object | no | Template variables to replace |
| subject | string | no | Email subject (can override template subject) |
| provider | string | no | Send via a specific provider instead of the default (e.g. smtp, mailgun, sendgrid, ses, gmail, resend) |
| bulk_mode | string | no | Required when sending to multiple recipients. "individual": sends a separate email to each recipient (safest). "bcc": puts first recipient in TO:, rest in BCC. "to": puts all in TO: (exposes addresses |
Validate email addresses and check deliverability
| Parameter | Type | Required | Notes |
|---|---|---|---|
| emails | array | yes | Array of email addresses to validate |
| check_mx | boolean | no | Check MX records for domain |
| check_smtp | boolean | no | Perform SMTP validation |
Get email usage statistics — delivery rate, bounce rate, per-domain breakdown, top bounce reasons. Reads from persistent stats.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| period | string | no | Time period for usage statistics |
| domain | string | no | Filter stats by domain |
| account | string | no | Filter stats by account address |
Verify IP whitelisting and email provider configuration
| Parameter | Type | Required | Notes |
|---|---|---|---|
| provider | string | yes | Email provider to verify, or "all" for all configured providers |
| test_email | string | no | Optional test email address to verify delivery |
| include_dns | boolean | no | Include DNS record verification |
| domain | string | no | Domain to check for DNS records (required if include_dns is true) |
List all configured IMAP email accounts. Shows default and named accounts (work, personal, etc.).
No parameter schema on file.
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.).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| account | string | no | Named account to read from (e.g. "work", "personal"). Omit for default account. |
| imap_config | object | no | Optional if IMAP is configured in .env (IMAP_HOST, IMAP_EMAIL, IMAP_PASSWORD) |
| filter | object | no | — |
| options | object | no | — |
Get status information for an email mailbox. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| account | string | no | Named account (e.g. "work", "personal"). Omit for default. |
| imap_config | object | no | — |
| mailbox | string | no | Mailbox to check |
List all available mailboxes for an email account. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| account | string | no | Named account (e.g. "work", "personal"). Omit for default. |
| imap_config | object | no | — |
Start the SMTP server to receive forwarded corporate emails
| Parameter | Type | Required | Notes |
|---|---|---|---|
| port | number | no | Port to listen on (default: 2525) |
| allowedForwarders | array | no | IP addresses allowed to forward emails (empty = allow all) |
| receivingDomains | array | no | Domains to accept emails for (empty = accept all) |
| enableThreading | boolean | no | Enable conversation threading |
Stop the SMTP forward receiver server
No parameter schema on file.
Get the current status of the SMTP forward receiver
No parameter schema on file.
Retrieve forwarded emails with optional filtering
| Parameter | Type | Required | Notes |
|---|---|---|---|
| originalSender | string | no | Filter by original sender email address |
| threadId | string | no | Filter by conversation thread ID |
| since | string | no | Filter emails since this date (ISO string) |
| limit | number | no | Maximum number of emails to return |
Get conversation threads with forwarded emails
| Parameter | Type | Required | Notes |
|---|---|---|---|
| participant | string | no | Filter threads by participant email address |
| subject | string | no | Filter threads by subject content |
| since | string | no | Filter threads active since this date (ISO string) |
| limit | number | no | Maximum number of threads to return |
Get full conversation context for a specific thread
| Parameter | Type | Required | Notes |
|---|---|---|---|
| threadId | string | yes | Thread ID to get conversation for |
| maxEmails | number | no | Maximum number of emails to include in context |
Get all conversation threads involving a specific sender
| Parameter | Type | Required | Notes |
|---|---|---|---|
| senderAddress | string | yes | Email address of the sender |
Check if email providers are configured, guide setup if needed
No parameter schema on file.
Configure Mailgun email provider with step-by-step guidance
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | yes | Mailgun API Key (starts with "key-") |
| domain | string | yes | Mailgun domain (e.g., mg.yourdomain.com) |
| from_email | string | yes | From email address (e.g., noreply@yourdomain.com) |
Test email configuration by sending a test email
| Parameter | Type | Required | Notes |
|---|---|---|---|
| test_email | string | no | Email address to send test email to (optional, defaults to from_email) |
Create a new local mailbox for receiving email (autonomous mode). Each address gets its own inbox accessible via MCP tools.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Email address for the mailbox (e.g. sales@company.com) |
| display_name | string | no | Display name for the mailbox |
Delete a local mailbox and all its stored emails (autonomous mode)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Email address of the mailbox to delete |
List all local mailboxes on this server (autonomous mode)
No parameter schema on file.
Request a dedicated WireGuard IP for email sending. Submits to the provisioning queue.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| email_domain | string | yes | Your email domain (e.g. company.com) |
| account_id | string | no | Optional account identifier |
Check the status of a pending WireGuard IP provisioning request
| Parameter | Type | Required | Notes |
|---|---|---|---|
| request_id | string | no | Request ID from request_email_ip (omit to check saved request) |
Generate all required DNS records (A, MX, SPF, DKIM, DMARC) for autonomous email. Outputs copyable records for your DNS provider.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | Your email domain (e.g. company.com) |
| ipv4 | string | yes | Your dedicated IPv4 address (from WireGuard provisioning) |
| mail_hostname | string | no | Mail server hostname (default: mail.domain) |
| dkim_selector | string | no | DKIM selector (default: emailmcp) |
| dmarc_policy | string | no | DMARC policy (default: reject) |
Verify that autonomous email is properly configured: DNS records, DKIM, SMTP send/receive
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | Your email domain to verify |
Auto-configure DKIM, SPF, and DMARC for autonomous email. Generates DKIM keys, creates DNS records, and outputs everything needed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | Your email domain |
| ipv4 | string | yes | Your dedicated IPv4 address |
| dkim_selector | string | no | DKIM selector (default: emailmcp) |
| dmarc_policy | string | no | DMARC policy (default: reject) |
Create a rule that triggers actions when incoming emails match conditions. Actions: forward, auto_reply, webhook, flag, move, mcp_tool, log, reject.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Rule name (unique) |
| description | string | no | What this rule does |
| priority | number | no | Priority (lower = evaluated first, default 100) |
| match | object | yes | Match conditions (ALL must match). Use from, domain, subject, subject_regex, body_contains, has_attachments, to, header. |
| actions | array | yes | Actions to execute when rule matches |
| stop | boolean | no | Stop processing further rules after this one matches (default: false) |
List all email rules with their match conditions, actions, and hit counts
No parameter schema on file.
Delete an email rule by ID
| Parameter | Type | Required | Notes |
|---|---|---|---|
| rule_id | string | yes | Rule ID to delete |
Update an existing email rule (enable/disable, change match/actions/priority)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| rule_id | string | yes | Rule ID to update |
| enabled | boolean | no | Enable or disable the rule |
| priority | number | no | New priority |
| match | object | no | New match conditions |
| actions | array | no | New actions |
| stop | boolean | no | Stop after match |
Start real-time IMAP IDLE watching on email accounts. Get push notifications when new emails arrive. Works with Gmail, iCloud, Office365, etc.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| account | string | no | Account name to watch (e.g. "work", "personal"). Omit to watch all configured accounts. |
Stop IMAP IDLE watching on an account (or all accounts)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| account | string | no | Account to stop watching. Omit to stop all. |
Get status of IMAP IDLE watchers — which accounts are being watched, connection status, new email counts
No parameter schema on file.
Phase 1: Create a cloud VPS with dedicated IP. Generates WireGuard config. Returns the IP and instructions to connect. Supports DigitalOcean, Vultr, Hetzner, OVH.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cloud_provider | string | yes | Cloud provider |
| cloud_api_key | string | yes | Cloud provider API key |
| service_domain | string | yes | Domain you own for the email service (e.g. emailrelay.xyz). NS will point here. |
| region | string | no | Cloud region (e.g. nyc1, ewr, nbg1, GRA11). Omit for default. |
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 parameter schema on file.
Show current provisioning state — which phases are complete, what to do next
No parameter schema on file.
List supported cloud providers with pricing, regions, and PTR support info
No parameter schema on file.
Start monitoring the provisioned email server — checks tunnel, SMTP, DNS, and IP reputation every 60 seconds. Auto-restarts on failure.
No parameter schema on file.
Get current health status of the email server — tunnel, SMTP, DNS, IP blocklist checks
No parameter schema on file.
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | Customer domain (e.g. company.com) |
List all configured sending domains with their verification status
No parameter schema on file.
Remove a sending domain and its DKIM keys
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | Customer domain to remove |
Get the DNS records a customer needs to add for a sending domain
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | Customer domain |
Regenerate the complete DNS zone file for the service domain including all customer subdomains. Use after adding/removing domains.
No parameter schema on file.
Create an email account with SMTP credentials. Returns SMTP password once — save it. The account can then send/receive via this server.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Email address (e.g. sales@company.com) |
| display_name | string | no | Display name for the account |
| domain | string | no | Sending domain (auto-derived from address if omitted) |
Delete an email account and revoke its SMTP credentials
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Email address of the account to delete |
List all email accounts with SMTP credentials (optionally filtered by domain)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | no | Filter by domain |
Reset the SMTP password for an email account. Returns new password once.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Email address of the account |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | Domain whose MX is being temporarily redirected (must be a POC we own in setipio-api) |
| forward_to | string | yes | Address where verification mails are relayed in real time |
| ttl_minutes | number | no | Auto-teardown after this many minutes (default 60) |
| real_mx_target | string | no | Optional. If provided, on teardown the MX is set to this target (e.g. apple.com) instead of restoring the pre-window snapshot. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | Domain to tear down |
| real_mx_target | string | no | Optional final MX target (e.g. apple.com). Overrides the snapshot restore. |
Show active verification windows, the receiver state, and TTLs.
No parameter schema on file.
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).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | Domain to filter on |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Address of the existing account (must already be created via create_email_account) |
| smtp_host | string | yes | e.g. smtp.mail.me.com (iCloud), smtp.gmail.com, smtp.fastmail.com |
| smtp_port | number | no | Default 587 |
| smtp_user | string | yes | SMTP username — usually the full email address |
| smtp_password | string | yes | SMTP password or app-specific password |
| imap_host | string | yes | e.g. imap.mail.me.com, imap.gmail.com, imap.fastmail.com |
| imap_port | number | no | Default 993 |
| imap_user | string | yes | IMAP username — usually the full email address |
| imap_password | string | yes | IMAP password (often same as SMTP) |
| sent_folder | string | no | Override Sent folder name. Auto-discovered via SPECIAL-USE if omitted. |
View all addresses on the bounce suppression list — these addresses will be rejected on send
No parameter schema on file.
Remove an address from the bounce suppression list (manual override to allow sending again)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Email address to unblock |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install EmailMCP or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.1.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish EmailMCP can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.