Skip to main content
Glama

EmailMCP

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
nfodor/emailmcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 3.6/5 across 56 of 56 tools scored. Lowest: 2.4/5.

Server CoherenceB
Disambiguation3/5

Many tools have distinct purposes, but there are potential overlaps between similar-sounding tools like check_email_config, test_email_config, verify_email_setup, and verify_autonomous_setup, as well as multiple list_* tools. Descriptions help clarify, but with 56 tools, disambiguation is challenging.

Naming Consistency4/5

Tool names consistently use snake_case and follow a verb_noun pattern (e.g., create_email_account, send_email). Minor deviations like get_dns_records vs get_domain_dns_records and some phrase-like names (start_domain_verification) are present but do not significantly break consistency.

Tool Count2/5

56 tools is very high for an MCP server. The tool set includes both core email operations and an extensive provisioning subsystem (provision_start, start_health_monitor, etc.), which expands the scope beyond a focused email assistant. This large count undermines coherence and simplicity.

Completeness3/5

The tool set covers a broad range of email tasks: account management, rule handling, domain verification, provisioning, and monitoring. However, notable gaps exist, such as the absence of email search and attachment handling, which are common in email workflows.

Available Tools

56 tools
add_sending_domainInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCustomer domain (e.g. company.com)
check_email_configInspect

Check if email providers are configured, guide setup if needed

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

check_ip_statusInspect

Check the status of a pending WireGuard IP provisioning request

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNoRequest ID from request_email_ip (omit to check saved request)
configure_mailgunInspect

Configure Mailgun email provider with step-by-step guidance

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesMailgun domain (e.g., mg.yourdomain.com)
api_keyYesMailgun API Key (starts with "key-")
from_emailYesFrom email address (e.g., noreply@yourdomain.com)
create_email_accountInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSending domain (auto-derived from address if omitted)
addressYesEmail address (e.g. sales@company.com)
display_nameNoDisplay name for the account
create_email_ruleInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesRule name (unique)
stopNoStop processing further rules after this one matches (default: false)
matchYesMatch conditions (ALL must match). Use from, domain, subject, subject_regex, body_contains, has_attachments, to, header.
actionsYesActions to execute when rule matches
priorityNoPriority (lower = evaluated first, default 100)
descriptionNoWhat this rule does
create_mailboxInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEmail address for the mailbox (e.g. sales@company.com)
display_nameNoDisplay name for the mailbox
delete_email_accountInspect

Delete an email account and revoke its SMTP credentials

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEmail address of the account to delete
delete_email_ruleInspect

Delete an email rule by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
rule_idYesRule ID to delete
delete_mailboxInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEmail address of the mailbox to delete
get_conversation_contextInspect

Get full conversation context for a specific thread

ParametersJSON Schema
NameRequiredDescriptionDefault
threadIdYesThread ID to get conversation for
maxEmailsNoMaximum number of emails to include in context
get_conversation_threadsInspect

Get conversation threads with forwarded emails

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of threads to return
sinceNoFilter threads active since this date (ISO string)
subjectNoFilter threads by subject content
participantNoFilter threads by participant email address
get_dns_recordsInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
ipv4YesYour dedicated IPv4 address (from WireGuard provisioning)
domainYesYour email domain (e.g. company.com)
dmarc_policyNoDMARC policy (default: reject)
dkim_selectorNoDKIM selector (default: emailmcp)
mail_hostnameNoMail server hostname (default: mail.domain)
get_domain_dns_recordsInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCustomer domain
get_domain_verification_emailsInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to filter on
get_domain_verification_statusInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_email_usageInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoFilter stats by domain
periodNoTime period for usage statisticsday
accountNoFilter stats by account address
get_forwarded_emailsInspect

Retrieve forwarded emails with optional filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of emails to return
sinceNoFilter emails since this date (ISO string)
threadIdNoFilter by conversation thread ID
originalSenderNoFilter by original sender email address
get_health_statusInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_idle_statusInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_mailbox_statusInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoNamed account (e.g. "work", "personal"). Omit for default.
mailboxNoMailbox to checkINBOX
imap_configNo
get_smtp_receiver_statusInspect

Get the current status of the SMTP forward receiver

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_suppression_listInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_threads_for_senderInspect

Get all conversation threads involving a specific sender

ParametersJSON Schema
NameRequiredDescriptionDefault
senderAddressYesEmail address of the sender
list_cloud_providersInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_email_accountsInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_email_accounts_managedInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoFilter by domain
list_email_rulesInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_local_mailboxesInspect

List all local mailboxes on this server (autonomous mode)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_mailboxesInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoNamed account (e.g. "work", "personal"). Omit for default.
imap_configNo
list_sending_domainsInspect

List all configured sending domains with their verification status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

provision_resumeInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

provision_startInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoCloud region (e.g. nyc1, ewr, nbg1, GRA11). Omit for default.
cloud_api_keyYesCloud provider API key
cloud_providerYesCloud provider
service_domainYesDomain you own for the email service (e.g. emailrelay.xyz). NS will point here.
provision_statusInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

read_inboxInspect

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.).

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNo
accountNoNamed account to read from (e.g. "work", "personal"). Omit for default account.
optionsNo
imap_configNoOptional if IMAP is configured in .env (IMAP_HOST, IMAP_EMAIL, IMAP_PASSWORD)
regenerate_zone_fileInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

remove_from_suppressionInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEmail address to unblock
remove_sending_domainInspect

Remove a sending domain and its DKIM keys

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCustomer domain to remove
request_email_ipInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idNoOptional account identifier
email_domainYesYour email domain (e.g. company.com)
reset_account_passwordInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEmail address of the account
send_emailInspect

Send an email with text or HTML content

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoArray of CC recipient email addresses
toYesArray of recipient email addresses
bccNoArray of BCC recipient email addresses
fromNoPersonal 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 folder. If exactly one personal account exists and from is omitted, it is used. If multiple personal accounts exist and from is omitted, the call errors and lists choices.
htmlNoHTML content of the email
textYesPlain text content of the email
subjectYesEmail subject line
providerNoSend via a specific provider instead of the default (e.g. smtp, mailgun, sendgrid, ses, gmail, resend). Requires that provider's credentials in env.
bulk_modeNoRequired 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 — use only when intended, e.g. team threads).
attachmentsNoArray of file attachments
send_template_emailInspect

Send an email using a predefined template

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesArray of recipient email addresses
subjectNoEmail subject (can override template subject)
providerNoSend via a specific provider instead of the default (e.g. smtp, mailgun, sendgrid, ses, gmail, resend)
templateYesTemplate name or path
bulk_modeNoRequired 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 — use only when intended).
variablesNoTemplate variables to replace
set_personal_email_credentialsInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesAddress of the existing account (must already be created via create_email_account)
imap_hostYese.g. imap.mail.me.com, imap.gmail.com, imap.fastmail.com
imap_portNoDefault 993
imap_userYesIMAP username — usually the full email address
smtp_hostYese.g. smtp.mail.me.com (iCloud), smtp.gmail.com, smtp.fastmail.com
smtp_portNoDefault 587
smtp_userYesSMTP username — usually the full email address
sent_folderNoOverride Sent folder name. Auto-discovered via SPECIAL-USE if omitted.
imap_passwordYesIMAP password (often same as SMTP)
smtp_passwordYesSMTP password or app-specific password
setup_autonomous_securityInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
ipv4YesYour dedicated IPv4 address
domainYesYour email domain
dmarc_policyNoDMARC policy (default: reject)
dkim_selectorNoDKIM selector (default: emailmcp)
start_domain_verificationInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain whose MX is being temporarily redirected (must be a POC we own in setipio-api)
forward_toYesAddress where verification mails are relayed in real time
ttl_minutesNoAuto-teardown after this many minutes (default 60)
real_mx_targetNoOptional. If provided, on teardown the MX is set to this target (e.g. apple.com) instead of restoring the pre-window snapshot.
start_health_monitorInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

start_idle_watchInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount name to watch (e.g. "work", "personal"). Omit to watch all configured accounts.
start_smtp_receiverInspect

Start the SMTP server to receive forwarded corporate emails

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort to listen on (default: 2525)
enableThreadingNoEnable conversation threading
receivingDomainsNoDomains to accept emails for (empty = accept all)
allowedForwardersNoIP addresses allowed to forward emails (empty = allow all)
stop_domain_verificationInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to tear down
real_mx_targetNoOptional final MX target (e.g. apple.com). Overrides the snapshot restore.
stop_idle_watchInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount to stop watching. Omit to stop all.
stop_smtp_receiverInspect

Stop the SMTP forward receiver server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

test_email_configInspect

Test email configuration by sending a test email

ParametersJSON Schema
NameRequiredDescriptionDefault
test_emailNoEmail address to send test email to (optional, defaults to from_email)
update_email_ruleInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
stopNoStop after match
matchNoNew match conditions
actionsNoNew actions
enabledNoEnable or disable the rule
rule_idYesRule ID to update
priorityNoNew priority
validate_emailInspect

Validate email addresses and check deliverability

ParametersJSON Schema
NameRequiredDescriptionDefault
emailsYesArray of email addresses to validate
check_mxNoCheck MX records for domain
check_smtpNoPerform SMTP validation
verify_autonomous_setupInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesYour email domain to verify
verify_email_setupInspect

Verify IP whitelisting and email provider configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoDomain to check for DNS records (required if include_dns is true)
providerYesEmail provider to verify, or "all" for all configured providers
test_emailNoOptional test email address to verify delivery
include_dnsNoInclude DNS record verification

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.