Skip to main content
Glama
Wh1isper

MCP Email Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_EMAIL_SERVER_IMAP_SSLNoEnable IMAP SSLtrue
MCP_EMAIL_SERVER_PASSWORDYesEmail password
MCP_EMAIL_SERVER_SMTP_SSLNoEnable SMTP SSLtrue
MCP_EMAIL_SERVER_FULL_NAMENoDisplay name (defaults to email prefix if not provided)
MCP_EMAIL_SERVER_IMAP_HOSTYesIMAP server host
MCP_EMAIL_SERVER_IMAP_PORTNoIMAP server port993
MCP_EMAIL_SERVER_SMTP_HOSTYesSMTP server host
MCP_EMAIL_SERVER_SMTP_PORTNoSMTP server port465
MCP_EMAIL_SERVER_USER_NAMENoLogin username (defaults to same as email if not provided)
MCP_EMAIL_SERVER_ACCOUNT_NAMENoAccount identifierdefault
MCP_EMAIL_SERVER_EMAIL_ADDRESSYesEmail address
MCP_EMAIL_SERVER_IMAP_PASSWORDNoSeparate IMAP password
MCP_EMAIL_SERVER_SMTP_PASSWORDNoSeparate SMTP password
MCP_EMAIL_SERVER_IMAP_USER_NAMENoSeparate IMAP username
MCP_EMAIL_SERVER_SMTP_START_SSLNoEnable STARTTLSfalse
MCP_EMAIL_SERVER_SMTP_USER_NAMENoSeparate SMTP username

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_available_accountsA

List configured accounts as stable non-secret capability records. Use only accounts with can_receive=true for mail reads and can_send=true for send_email. If the result is empty, ask the user to run mcp-email-server ui or the user-operated CLI; never ask for credentials in chat.

list_emails_metadataA

List email metadata (email_id, subject, sender, recipients, date) without body content. Returns email_id for use with get_emails_content.

get_emails_contentA

Get the full content (including body and reply-thread headers) of one or more emails by their email_id. Use list_emails_metadata first. This tool is non-read-only because mark_as_read=true changes remote flags.

list_allowed_recipientsA

List the configured recipient allowlist — the addresses that send_email is permitted to send to and save_to_mailbox is permitted to address. Returns an empty list when unrestricted.

list_allowed_sendersA

List the configured inbound sender allowlist — the address patterns whose mail the server will read or act on. When configured, only these senders' mail is visible to the read tools (list_emails_metadata, get_emails_content, download_attachment) and eligible for the mutation tools (delete_emails, set_email_flags, mark_emails_as_read, move_emails, archive_emails). Returns an empty list when unrestricted.

send_emailA

Send one email using the specified account. Supports reply threading. Partial or ambiguous SMTP delivery reports per-recipient succeeded/failed/unknown status and reports the independent Sent-copy outcome separately; ambiguous effects are not retried automatically.

save_to_mailboxA

Compose an email and save it to an IMAP folder (e.g., Drafts). Shares recipient, body, attachment, and threading parameters with send_email; adds mailbox and flags, and does not support reply_to. Default folder is Drafts with \Draft and \Seen flags. Pure IMAP operation — works without SMTP configuration. An ambiguous APPEND is reported as unknown and is not retried automatically.

delete_emailsA

Delete one or more emails by email_id using target-scoped UID EXPUNGE. Use list_emails_metadata first. Partial or ambiguous effects report per-ID succeeded/failed/unknown status and are not retried automatically.

set_email_flagsA

Add or remove approved IMAP flags on one or more emails by email_id. Supported flags are \Seen, \Flagged, \Answered, and \Draft; \Deleted and provider-specific keywords are not supported. Use list_emails_metadata first. Partial or ambiguous effects report per-ID succeeded/failed/unknown status and are not retried automatically.

mark_emails_as_readA

Mark one or more emails as read by email_id. This is the common-workflow equivalent of adding \Seen with set_email_flags. Use list_emails_metadata first. Partial or ambiguous effects report per-ID succeeded/failed/unknown status and are not retried automatically.

move_emailsA

Move one or more emails between IMAP folders by email_id. Use list_emails_metadata and list_mailboxes first. Partial or ambiguous effects report per-ID succeeded/failed/unknown status and are not retried.

archive_emailsA

Archive one or more emails by moving them to the account's Archive folder, auto-detected via the RFC 6154 \Archive flag (falling back to common names like Archive or [Gmail]/All Mail). Use list_emails_metadata first. Partial or ambiguous effects report per-ID succeeded/failed/unknown status and are not retried automatically.

list_mailboxesA

List available mailboxes/folders for an email account. Returns folder names, hierarchy delimiters, and flags. Useful for discovering folder names before moving emails.

download_attachmentA

Download an email attachment. By default it is saved with a safe randomized name under the current user's Downloads/mcp-email-server directory; an explicit destination path remains supported. This feature must be explicitly enabled in settings (enable_attachment_download=true) due to security considerations.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Wh1isper/mcp-email-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server