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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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