MCP Email Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_EMAIL_SERVER_IMAP_SSL | No | Enable IMAP SSL | true |
| MCP_EMAIL_SERVER_PASSWORD | Yes | Email password | |
| MCP_EMAIL_SERVER_SMTP_SSL | No | Enable SMTP SSL | true |
| MCP_EMAIL_SERVER_FULL_NAME | No | Display name (defaults to email prefix if not provided) | |
| MCP_EMAIL_SERVER_IMAP_HOST | Yes | IMAP server host | |
| MCP_EMAIL_SERVER_IMAP_PORT | No | IMAP server port | 993 |
| MCP_EMAIL_SERVER_SMTP_HOST | Yes | SMTP server host | |
| MCP_EMAIL_SERVER_SMTP_PORT | No | SMTP server port | 465 |
| MCP_EMAIL_SERVER_USER_NAME | No | Login username (defaults to same as email if not provided) | |
| MCP_EMAIL_SERVER_ACCOUNT_NAME | No | Account identifier | default |
| MCP_EMAIL_SERVER_EMAIL_ADDRESS | Yes | Email address | |
| MCP_EMAIL_SERVER_IMAP_PASSWORD | No | Separate IMAP password | |
| MCP_EMAIL_SERVER_SMTP_PASSWORD | No | Separate SMTP password | |
| MCP_EMAIL_SERVER_IMAP_USER_NAME | No | Separate IMAP username | |
| MCP_EMAIL_SERVER_SMTP_START_SSL | No | Enable STARTTLS | false |
| MCP_EMAIL_SERVER_SMTP_USER_NAME | No | Separate SMTP username |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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